:root{--ink:#0D2B20;--deep:#17402F;--mid:#2F6B4F;--pop:#C2F25E;--warm:#F2A93B;--paper:#F5F4EC;--sand:#E7E8D6;--muted:#46594F;--soft:#D4E3DA;--line:#C9CDB8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink)}
.page{width:100%;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.55}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ink);box-shadow:0 0 0 6px var(--pop)}
summary{cursor:pointer}
button{font-family:inherit}
input,textarea{max-width:100%}
input:focus,textarea:focus{border-color:var(--ink)!important}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#B3261E!important}
.skip{position:absolute;left:-9999px;top:0;background:var(--pop);color:var(--ink);padding:12px 18px;font-weight:700;z-index:10}
.skip:focus{left:12px;top:12px}
.form-status{color:var(--ink)}
.form-status.err{color:#8A1C14}
h1:focus,h2:focus{outline:none}
[data-todo]{background:#FFE08A}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
