.profile-picker{display:grid;gap:16px}
.profile-picker + .profile-picker{border-top:1px solid var(--line);padding-top:26px}
.profile-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.profile-picker h2{font-size:1.35rem;margin:0}
.step-kicker{font-family:var(--mono);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--wine);margin:0 0 5px}
.profile-picker-hint{color:var(--ink-faint);font-size:.87rem;margin-top:6px}
.profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-option{position:relative;display:flex;align-items:center;gap:13px;min-width:0;padding:15px;
  background:var(--raised);border:1px solid var(--line);border-radius:13px;cursor:pointer;
  transition:border-color .2s var(--e),box-shadow .2s var(--e),transform .2s var(--e)}
.profile-option:hover{border-color:#CFC5BC;transform:translateY(-1px)}
.profile-option:has(input:checked){border-color:var(--wine);box-shadow:0 0 0 2px var(--wine-tint)}
.profile-option input{position:absolute;opacity:0;pointer-events:none}
.profile-option input:focus-visible ~ .profile-card-copy{outline:2.5px solid var(--mid);outline-offset:5px;border-radius:4px}
.profile-card-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;
  border-radius:11px;background:var(--wine-tint);color:var(--wine);font-family:var(--serif);font-size:1.05rem}
.profile-card-copy{display:grid;gap:3px;min-width:0;flex:1}
.profile-card-top{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.profile-card-top strong{font-family:var(--serif);font-size:1.04rem;font-weight:500;overflow-wrap:anywhere}
.profile-type{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:1px 7px;
  font-family:var(--mono);font-size:.59rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.profile-summary{color:var(--ink-faint);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-check{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;color:transparent;font-size:.75rem}
.profile-option:has(input:checked) .profile-check{background:var(--wine);border-color:var(--wine);color:#fff}
.profile-empty{grid-column:1/-1;padding:20px;border:1px dashed #CFC5BC;border-radius:13px;
  color:var(--ink-soft);text-align:center}
.profile-add-choice{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:15px;
  border:1px dashed #C8BDB4;border-radius:13px;background:var(--paper-2);color:var(--ink);cursor:pointer;font:inherit}
.profile-add-choice:hover{border-color:var(--wine);background:var(--wine-tint)}
.profile-add-choice strong{display:block;font-size:.91rem}
.profile-add-choice small{display:block;color:var(--ink-faint);font-size:.78rem;margin-top:2px}
.profile-add-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;
  border:1px solid var(--line);border-radius:11px;background:var(--raised);color:var(--wine);font-size:1.4rem}
.profile-inline-editor{background:var(--paper-2);border-radius:15px;padding:clamp(18px,4vw,26px)}
.profile-inline-editor[hidden]{display:none}
.profile-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}
.profile-editor-head h3{font-size:1.25rem;margin:0}
.profile-editor-fields{display:grid;gap:22px}
.profile-identity-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}
.profile-save-note{background:var(--raised)}
.profile-inline-editor .birth-profile{background:var(--raised)!important;padding:20px!important;border-radius:13px!important}
.profile-inline-editor .birth-profile legend{position:static!important;width:100%!important;height:auto!important;overflow:visible!important;
  clip:auto!important;white-space:normal!important;margin:0 0 18px!important;padding:0!important}

.reading-details{display:grid;gap:26px;border-top:1px solid var(--line);padding-top:26px}
.reading-details[hidden]{display:none}
.step-two{font-family:var(--mono);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--wine)}

.profiles-summary{display:grid;gap:9px;min-width:0}
/* min-width:0 is load-bearing, not tidiness. The row is a GRID item, so its automatic
   minimum size is its min-content width, and the nowrap ellipsis line below sets that
   to the full untruncated string. On a 390px phone that made the row 428px wide and
   scrolled the whole /account page sideways. Zero lets the ellipsis do its job. */
.profiles-summary-row{display:flex;align-items:center;gap:11px;padding:10px 0;min-width:0;
  border-top:1px solid var(--line)}
.profiles-summary-row:first-child{border-top:0}
.profiles-summary-mark{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;background:var(--wine-tint);color:var(--wine);font-family:var(--serif)}
.profiles-summary-copy{min-width:0;flex:1}
.profiles-summary-copy strong{display:block;font-family:var(--serif);font-weight:500}
.profiles-summary-copy small{display:block;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.profile-library{display:grid;gap:12px}
.library-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;
  padding:18px;background:var(--raised);border:1px solid var(--line);border-radius:15px}
.library-card .profile-card-mark{width:44px;height:44px;flex-basis:44px}
.library-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.library-empty{padding:30px;text-align:center;border:1px dashed #C8BDB4;border-radius:15px;color:var(--ink-soft)}
.profile-page-editor{margin-top:22px}
.profile-page-editor[hidden]{display:none}
.profile-page-editor form{display:grid;gap:24px}
.profile-page-editor .birth-profile{border:0;background:var(--paper-2);padding:22px;border-radius:14px}
.profile-page-editor .birth-profile legend{float:left;width:100%;font-family:var(--serif);font-size:1.3rem;
  line-height:1.3;padding:0;margin:0 0 18px}
.profile-page-editor .birth-profile .bp-body{display:grid;gap:22px;clear:both}
.profile-editor-actions{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:680px){
  .profile-options,.profile-identity-grid{grid-template-columns:1fr}
  .library-card{grid-template-columns:auto minmax(0,1fr)}
  .library-actions{grid-column:1/-1;justify-content:flex-start;padding-left:59px}
}
@media(max-width:420px){
  .profile-option{align-items:flex-start}
  .profile-check{position:absolute;right:12px;top:12px}
  .profile-card-top{padding-right:28px}
  .library-actions{padding-left:0}
}
