:root{
  --paper:#F4F6F9; --ink:#172033; --muted:#566074; --rule:#D5DBE5; --accent:#0E6B66; --accent-ink:#FFFFFF;
  --line:rgba(23,32,51,.07);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#10151F; --ink:#E7EBF2; --muted:#9AA5B8; --rule:#2A3345; --accent:#5CC4BC; --accent-ink:#10151F;
    --line:rgba(231,235,242,.06);
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  font-size:1.125rem; line-height:1.7;
}
a{color:var(--accent); text-underline-offset:.18em}
a:focus-visible{outline:3px solid var(--accent); outline-offset:3px; border-radius:2px}
.wrap{max-width:42rem; margin:0 auto; padding:0 1.25rem}
header.site{padding:1.5rem 0 0}
header.site a{color:var(--ink); font-weight:700; text-decoration:none; font-size:1.05rem}
main{padding:2.5rem 0 3rem}
h1{font-size:clamp(2.2rem,7vw,3.4rem); line-height:1.1; margin:0 0 .6rem; letter-spacing:-.01em}
h2{font-size:1.45rem; line-height:1.3; margin:2.4rem 0 .5rem}
p,ul{margin:0 0 1.1rem}
ul{padding-left:1.3rem}
li{margin-bottom:.45rem}
.lede{font-size:1.3rem; color:var(--muted); margin-bottom:1.8rem; max-width:34rem}
.meta{color:var(--muted); font-size:1rem}
/* ruled-paper hero, used on the home page only */
.ruled{
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.9rem - 1px),var(--line) calc(1.9rem - 1px),var(--line) 1.9rem);
  padding:2.2rem 0 1.2rem; margin-bottom:1rem;
}
.apps{list-style:none; padding:0; margin:2rem 0 0}
.apps li{border-top:1px solid var(--rule); padding:1.4rem 0; margin:0}
.apps li:last-child{border-bottom:1px solid var(--rule)}
.apps h2{margin:0 0 .2rem; font-size:1.6rem}
.apps h2 a{color:var(--ink); text-decoration:none}
.apps h2 a:hover{text-decoration:underline}
.apps p{margin:0; color:var(--muted)}
.btn{
  display:inline-block; background:var(--accent); color:var(--accent-ink); text-decoration:none;
  padding:.7rem 1.2rem; min-height:44px; border-radius:6px; font-weight:700; font-family:inherit;
}
.btn.quiet{background:transparent; color:var(--accent); border:2px solid var(--accent)}
.actions{display:flex; flex-wrap:wrap; gap:.8rem; margin:1.6rem 0}
.note{border-left:4px solid var(--accent); padding:.2rem 0 .2rem 1rem; margin:1.4rem 0; color:var(--ink)}
footer.site{border-top:1px solid var(--rule); padding:1.5rem 0 3rem; color:var(--muted); font-size:1rem}
footer.site a{color:var(--muted)}
footer.site p{margin:0 0 .4rem}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
