/* Same control geometry across the suite; keyboard focus stays visible. */
html { -webkit-tap-highlight-color: transparent; }
:where(a,button,input,textarea,select,summary,label,[role="button"],[tabindex]) { -webkit-tap-highlight-color: transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[role="button"]:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--clay,#ac492e); outline-offset:4px; }
:where(button,summary,[role="button"]):active { filter:brightness(.96); }
.theme-switch { position:relative; width:46px; min-width:46px; height:30px; min-height:30px; padding:0; display:inline-grid; place-items:center; border:1px solid var(--line,#dddfd4); border-radius:999px; background:var(--card,var(--panel,#fffdf8)); color:var(--ink); cursor:pointer; flex-shrink:0; transform:none; box-shadow:none; }
.theme-switch::after { content:""; position:absolute; inset:-7px 0; }
.theme-switch-track { position:relative; display:block; width:40px; height:22px; }
.theme-switch-thumb { position:absolute; left:0; top:0; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--paper,var(--bg,#f4f2ec)); color:var(--clay,#ac492e); box-shadow:0 2px 6px #1d302016; transition:transform .35s cubic-bezier(.32,.72,0,1),background .25s; }
.theme-switch svg { grid-area:1/1; width:13px; height:13px; transition:opacity .2s,transform .3s; }
.theme-switch .moon { opacity:0; transform:rotate(-25deg) scale(.78); }
.theme-switch[data-theme="dark"] .theme-switch-thumb { transform:translateX(18px); }
.theme-switch[data-theme="dark"] .sun { opacity:0; transform:rotate(35deg) scale(.78); }
.theme-switch[data-theme="dark"] .moon { opacity:1; transform:none; }
.theme-switch:hover { border-color:var(--clay,#ac492e); }
@media(max-width:540px) { .theme-switch { width:40px; min-width:40px; height:28px; min-height:28px; }.theme-switch-track { width:34px; height:20px; }.theme-switch-thumb { width:20px; height:20px; }.theme-switch[data-theme="dark"] .theme-switch-thumb { transform:translateX(14px); } }
.skip-link { position:fixed; left:16px; top:-70px; z-index:1000; padding:12px 18px; color:var(--ink); background:var(--card,var(--panel)); border:1px solid var(--line); border-radius:8px; }
.skip-link:focus { top:12px; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
