/* The round sun/moon button, shared by every page */
.theme-toggle{
  width:38px; height:38px; border-radius:50%; display:inline-grid; place-items:center; flex-shrink:0; padding:0;
  background:transparent; border:1px solid var(--border2); color:var(--text); cursor:pointer;
  transition:border-color .25s ease, color .25s ease;
}
.theme-toggle:hover{ border-color:var(--accent); color:var(--accent2); }
.theme-toggle:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.theme-toggle svg{ width:18px; height:18px; grid-area:1/1; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;
  transition:opacity .3s ease, transform .4s cubic-bezier(.22,.8,.3,1); }
.theme-toggle .tt-sun{ opacity:0; transform:rotate(-90deg) scale(.6); }
html[data-theme="dark"] .theme-toggle .tt-moon{ opacity:0; transform:rotate(90deg) scale(.6); }
html[data-theme="dark"] .theme-toggle .tt-sun{ opacity:1; transform:none; }
/* floating copy for sign-in screens, top right */
.theme-toggle--float{ position:fixed; z-index:30; top:max(14px, env(safe-area-inset-top)); right:16px; background:var(--bg2, var(--panel)); }
/* /cash inside /app: the app's own switch controls it */
html.embed .theme-toggle{ display:none !important; }
@media (prefers-reduced-motion: reduce){ .theme-toggle svg{ transition:none; } }
