/* My Profile — account group: pickers, dialogs, photo, authentication, help, privacy (Figma 22316:135527). */

/* Profile photo placeholder after "remove" */
.pa-initials {
  width: 102.857px; height: 102.857px; border-radius: 50%; display: grid; place-items: center;
  background: var(--jiren); color: var(--piccolo); font: 700 32px/40px var(--font);
}

/* ---------- Radio list sheets: Change Site (22316:137965), Switch Profile (22316:137888) ---------- */
.pa-radios { display: flex; flex-direction: column; gap: 8px; }
.pa-radio-row {
  display: flex; align-items: center; gap: 16px; width: 100%; padding: 16px 24px;
  border-radius: var(--radius-i-sm); background: var(--goku); text-align: left;
  font: 600 16px/24px var(--font); color: var(--bulma);
}
.pa-radio-row:hover { background: #EDEDED; }
.pa-radio { flex: none; width: 24px; height: 24px; display: grid; place-items: center; }
.pa-radio::before {
  content: ''; width: 16px; height: 16px; border-radius: 50%; box-sizing: border-box;
  border: 1px solid var(--trunks); background: var(--gohan); transition: border-color .12s, box-shadow .12s;
}
.pa-radio-row.is-on .pa-radio::before { border-color: var(--piccolo); background: var(--piccolo); box-shadow: inset 0 0 0 3px var(--gohan); }

/* ---------- Overlays (year picker, log out dialog) ---------- */
.pa-overlay { position: absolute; inset: 0; z-index: 60; display: flex; flex-direction: column; align-items: center; }
.pa-overlay-center { justify-content: center; }
.pa-overlay-bottom { justify-content: flex-end; padding-bottom: 20px; }
.pa-scrim { position: absolute; inset: 0; background: var(--zeno); animation: fade-in .2s ease-out both; }
.pa-overlay > :not(.pa-scrim) { position: relative; animation: pa-pop .2s cubic-bezier(.2, .8, .2, 1) both; }
.pa-overlay.is-closing .pa-scrim { animation: fade-out .18s ease-in both; }
.pa-overlay.is-closing > :not(.pa-scrim) { animation: fade-out .18s ease-in both; }
@keyframes pa-pop { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }

/* Year picker (22316:138045) */
.pa-year {
  width: calc(100% - 40px); max-width: 374px; display: flex; flex-direction: column; gap: 24px;
  padding: 12px; border-radius: var(--radius-s-sm); background: var(--gohan);
}
.pa-year-head { display: flex; align-items: center; padding: 10.5px 0; }
.pa-year-nav { width: 31.69px; height: 31.69px; display: grid; place-items: center; color: var(--trunks); border-radius: 8px; }
.pa-year-nav svg { width: 31.69px; height: 31.69px; }
.pa-year-nav:not(:disabled):hover { background: var(--heles); color: var(--bulma); }
.pa-year-nav:disabled { opacity: .32; cursor: default; }
.pa-year-range { flex: 1; text-align: center; font: 700 18px/28px var(--font); color: var(--trunks); }
.pa-year-grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 12px; row-gap: 16px; padding: 0 16px; margin-top: -8px; }
.pa-year-cell { height: 40px; padding: 8px; border-radius: var(--radius-i-sm); font: 700 14px/24px var(--font); color: var(--bulma); text-align: center; white-space: nowrap; }
.pa-year-cell:not(:disabled):not(.is-on):hover { background: var(--goku); }
.pa-year-cell.is-on { background: var(--piccolo); color: var(--goten); }
.pa-year-cell:disabled { color: var(--beerus); cursor: default; }
.pa-year-foot { display: flex; gap: 16px; }

/* Shared flat buttons (Figma MDS-Public-TW-Button, semibold) */
.pa-btn { flex: 1; min-width: 0; padding: 16px 24px; border-radius: var(--radius-i-sm); font: 600 16px/24px var(--font); text-align: center; white-space: nowrap; }
.pa-btn-primary { background: var(--piccolo); color: var(--goten); }
.pa-btn-primary:hover { filter: brightness(1.08); }
.pa-btn-soft { background: var(--goku); color: var(--piccolo); }
.pa-btn-soft:hover { background: #EDEDED; }
.pa-btn-outline { border: 1px solid var(--trunks); color: var(--bulma); background: transparent; }
.pa-btn-outline:hover { background: var(--heles); }

/* Log out dialog (22316:136421) */
.pa-dialog { width: 312px; min-width: 280px; max-width: calc(100% - 40px); border-radius: 16px; background: var(--gohan); overflow: hidden; display: flex; flex-direction: column; }
.pa-dialog-text { display: flex; flex-direction: column; gap: 16px; padding: 24px 24px 20px; text-align: center; }
.pa-dialog-title { font: 400 24px/32px var(--font); color: #1D1B20; }
.pa-dialog-msg { font: 400 14px/20px var(--font); color: #49454F; }
.pa-dialog-btn { height: 56px; border-top: 1px solid var(--beerus); font: 700 16px/24px var(--font); color: var(--trunks); text-align: center; }
.pa-dialog-btn.danger { font-weight: 600; color: var(--dodoria); }
.pa-dialog-btn:hover { background: var(--goku); }

/* ---------- Profile photo (22316:136115 / 22316:136144) ---------- */
.screen.pa-photo { display: flex; flex-direction: column; overflow: hidden; background: var(--goku); }
.pa-photo-body { flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: none; display: flex; flex-direction: column; gap: 24px; padding: calc(var(--sb-dash) + 24px) 20px 24px; }
.pa-photo-body::-webkit-scrollbar { display: none; }
.pa-preview { position: relative; flex: none; width: 100%; aspect-ratio: 1; border-radius: var(--radius-s-sm); overflow: hidden; background: var(--beerus); }
.pa-preview-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pa-crop { position: absolute; inset: 0; border: 1px solid var(--goku); border-radius: 50%; pointer-events: none; }
.pa-remove { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border-radius: 50%; }
.pa-remove:hover { filter: brightness(1.08); }
.pa-preview.is-empty .pa-remove { display: none; }
.pa-src { display: flex; gap: 16px; }
.pa-avatars { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px; border-radius: 12px; background: var(--gohan); }
.pa-thumb { position: relative; width: 62px; height: 62px; border-radius: 50%; overflow: hidden; flex: none; }
.pa-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-thumb-on {
  position: absolute; inset: 0; display: none; place-items: center;
  background: linear-gradient(rgba(78, 70, 180, .6), rgba(78, 70, 180, .6)), linear-gradient(var(--heles), var(--heles));
}
.pa-thumb.is-on .pa-thumb-on { display: grid; }
.pa-thumb:focus-visible { outline: 2px solid var(--piccolo); outline-offset: 2px; }
.pa-photo-err { font: 400 12px/16px var(--font); color: var(--dodoria); }
.pa-photo-err:empty { display: none; }
.pa-foot { flex: none; padding: 16px 20px 0; background: var(--gohan); border-top: 1px solid var(--beerus); filter: drop-shadow(0 -2px 8px rgba(0, 0, 0, 0.08)); }
.pa-foot-btns { display: flex; gap: 16px; }
.pa-foot .home-indicator { height: 34px; }

/* ---------- Sub-page layout: Authentication, Need Help?, Privacy Policy ---------- */
.screen.pa-page { background: var(--goku); display: flex; flex-direction: column; gap: 24px; padding: calc(var(--sb-dash) + 8px) 20px 24px; }
.pa-head { flex: none; display: flex; align-items: center; gap: 16px; height: 42px; }
.pa-title { flex: 1; min-width: 0; font: 700 24px/32px var(--font); color: var(--bulma); }
.pa-back { flex: none; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; }
.pa-back:hover { background: var(--heles); }
.pa-head-auth { gap: 16px; }
.pa-auth-list { margin-top: 8px; }
.pa-auth .p-row { padding-top: 12px; padding-bottom: 12px; }

/* Search pill (32px, Figma MDS-Public-TW-Accordion search variant) */
.pa-search { flex: none; display: flex; align-items: center; gap: 8px; height: 32px; padding: 8px; border-radius: var(--radius-s-sm); background: var(--gohan); cursor: text; }
.pa-search img { flex: none; }
.pa-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 500 12px/16px var(--font); color: var(--bulma); }
.pa-search input::placeholder { color: var(--trunks); opacity: 1; }
.pa-search:focus-within { box-shadow: 0 0 0 1px var(--piccolo); }
.pa-search-wrap { flex: none; display: flex; flex-direction: column; gap: 4px; }
.pa-search-count { color: var(--trunks); padding: 0 8px; }
.pa-search-count:empty { display: none; }
.pa-page mark { background: rgba(78, 70, 180, .2); color: inherit; border-radius: 2px; }

/* Need Help? accordion (22316:138156) */
.pa-help-list { display: flex; flex-direction: column; gap: 8px; }
.pa-help-label { font: 700 14px/24px var(--font); color: var(--trunks); }
.pa-acc-list { display: flex; flex-direction: column; gap: 8px; }
.pa-acc { border-radius: var(--radius-s-sm); background: var(--gohan); padding: 8px; }
.pa-acc.is-open { display: flex; flex-direction: column; gap: 16px; padding-bottom: 16px; }
.pa-acc-head { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; font: 400 14px/24px var(--font); color: var(--bulma); }
.pa-acc-head span { flex: 1; min-width: 0; }
.pa-acc-head img { flex: none; }
.pa-acc-body { display: flex; flex-direction: column; gap: 12px; padding: 0 8px; }
.pa-acc-img { width: 100%; height: auto; display: block; }
.pa-acc-body p { font: 400 12px/16px var(--font); color: var(--trunks); }

/* Privacy Policy (22316:138178) */
.pa-policy { display: flex; flex-direction: column; gap: 8px; padding: 0 16px; }
.pa-policy h2 { font: 700 16px/24px var(--font); color: var(--bulma); }
.pa-policy p, .pa-policy ol { font: 400 14px/24px var(--font); color: var(--trunks); }
.pa-policy ol { list-style: decimal; padding-left: 21px; display: flex; flex-direction: column; gap: 8px; }

/* ---------- Authentication sheets ---------- */
.pa-form .pa-forgot { font-size: 16px; }
.pa-bio { gap: 8px; }

.pa-bio-actions { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pa-sim { font: 400 12px/16px var(--font); color: var(--trunks); text-decoration: underline; text-underline-position: from-font; padding: 4px 8px; }
.pa-sim:hover { color: var(--bulma); }
