/* Small usability improvements layered over the recovered visual system. */
html { color-scheme: dark; }
:focus-visible { outline:2px solid #ed6b62!important;outline-offset:4px; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
.skip-link { position:fixed;left:16px;top:-70px;z-index:10000;padding:12px 18px;background:#df3832;color:white;border-radius:6px; }
.skip-link:focus { top:16px; }
.nav-item:focus-visible { outline-offset:-3px; }
.rule-toggle,.del-rule,.del-acct,.day-row { touch-action:manipulation; }
.journal-box,.inp { font-size:1rem; }
.table { font-size:.875rem; }
.nav-item { font-size:.875rem; }
.save-error {color:#ff8c82;font-size:1rem;margin-top:12px;line-height:1.5;}
@media(max-width:600px){.grid{min-width:0}.card{min-width:0}.table{display:block;overflow-x:auto}input,textarea,select{font-size:16px!important}.page-title{overflow-wrap:anywhere}.topbar{gap:8px}.topbar-right{gap:6px}.period-select{max-width:130px}.card .grid{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-bg{display:none}.story-hero{min-height:100svh}}
