/* One direct theme control for account menus and personal preferences. */
.theme-picker {
  display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:3px;
  min-width:0; width:100%; max-width:300px; margin:0; padding:3px;
  border:1px solid var(--navi-line); border-radius:9px;
  background:var(--appearance-raised); color:var(--navi-ink);
}
.theme-picker .theme-choice { position:relative; display:block; min-width:0; margin:0; cursor:pointer; }
.theme-picker input[type=radio] { position:absolute; width:1px; height:1px; padding:0; margin:0; opacity:0; }
.theme-picker .theme-choice-content {
  display:flex; flex-direction:row; align-items:center; justify-content:center; gap:5px;
  min-height:34px; height:100%; padding:5px 6px; border:1px solid transparent; border-radius:6px;
  color:var(--navi-muted); font-size:12px; font-weight:500; line-height:1.3; text-align:center;
}
.theme-picker .theme-choice-content svg { width:15px; height:15px; flex:0 0 15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.theme-picker .theme-choice:hover .theme-choice-content { background:var(--navi-surface); color:var(--navi-ink); }
.theme-picker input:checked + .theme-choice-content {
  background:var(--navi-soft); color:var(--navi-accent); border-color:var(--navi-accent); font-weight:700;
}
.theme-picker input:focus-visible + .theme-choice-content { outline:2px solid var(--navi-accent); outline-offset:2px; }
.theme-picker:disabled .theme-choice { cursor:wait; }
.theme-picker:disabled { opacity:.7; }
.account-preference-row.account-theme-row { flex-direction:row; align-items:center; gap:8px; padding-block:4px; }
#theme-toggle { width:122px; flex:0 0 122px; grid-template-columns:repeat(3,minmax(0,1fr)); }
#theme-toggle .theme-choice-content { gap:0; padding:5px; }
#theme-toggle .theme-choice-content > span {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
@media(pointer:coarse) { .theme-picker .theme-choice-content { min-height:44px; } }
.pet-toggle-row { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:420px; min-height:44px; }
.pet-toggle-control { display:flex; align-items:center; gap:12px; flex-shrink:0; }
#pet-toggle-status { font-size:13px; color:var(--navi-muted); }
.pet-switch { position:relative; width:46px; height:28px; padding:3px; border:1px solid var(--navi-muted); border-radius:20px; background:var(--appearance-raised); cursor:pointer; transition:background .15s; }
.pet-switch > span { display:block; width:20px; height:20px; border-radius:50%; background:var(--navi-muted); transition:transform .15s; }
.pet-switch[aria-checked=true] { background:var(--navi-accent); border-color:var(--navi-accent); }
.pet-switch[aria-checked=true] > span { background:var(--navi-surface); transform:translateX(18px); }
.pet-switch:focus-visible { outline:2px solid var(--navi-accent); outline-offset:3px; }
.pet-switch:disabled { cursor:wait; opacity:.65; }
@media(pointer:coarse) { .pet-switch::after { content:''; position:absolute; inset:-9px -2px; } }
@media(prefers-reduced-motion:reduce) { .pet-switch,.pet-switch > span { transition:none; } }
