:root{
  --paper:#F4F0F3; --ink:#2A2129; --soft:#6A5F68; --line:#DCD2D9;
  --plum:#5B2A4E; --rose:#A8506B; --card:#FBF9FB;
  --serif:"Fraunces",Georgia,serif; --sans:"Karla",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#1B151A; --ink:#EFE7ED; --soft:#A99BA6; --line:#3A303A; --plum:#D6A7C6; --rose:#E0A0B4; --card:#241C23;
}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.wrap{max-width:36rem;margin:0 auto;padding:3rem 1.25rem 4rem}
h1{font-family:var(--serif);font-size:2.6rem;font-weight:600;letter-spacing:-0.02em;margin:0 0 1.5rem;line-height:1.05}
h2{font-family:var(--serif);font-size:1.35rem;font-weight:600;margin:2.5rem 0 .75rem;line-height:1.25}
p,li{margin:0 0 1.1rem}
ul{padding-left:1.2rem}
a{color:var(--plum)}
.opening{font-family:var(--serif);font-size:1.35rem;line-height:1.5;margin-bottom:1.5rem}
.muted{color:var(--soft);font-size:.95rem}
.updated{color:var(--soft);font-size:.9rem;margin-bottom:2rem}
.book,.box{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--rose);border-radius:.7rem;padding:1.25rem 1.4rem;margin:1.5rem 0}
.box{border-left-color:var(--plum)}
.book p:last-child,.box p:last-child{margin-bottom:0}
.book .muted{margin-top:.9rem}
.bookbtn{display:inline-block;font-size:1rem;padding:.7rem 1.4rem;border-radius:999px;background:var(--plum);color:var(--paper);text-decoration:none;overflow-wrap:anywhere}
.bookbtn:hover{background:var(--rose)}
:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
footer{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--soft)}
footer p{margin-bottom:.7rem}
.mission{font-family:var(--serif);font-size:1.5rem;line-height:1.4;color:var(--plum);margin:0 0 1.75rem}
.crumb{margin:0 0 1.5rem;font-size:.95rem}
.crumb a{text-decoration:none;font-weight:500}
.legal h1{font-size:2.2rem}
.legal li{margin-bottom:.6rem}
.tablewrap{overflow-x:auto;margin:0 0 1.5rem;border:1px solid var(--line);border-radius:.6rem}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--line)}
th{background:var(--card);font-weight:700}
tr:last-child td{border-bottom:0}
mark{background:#F9EEDA;color:#2A2129;padding:0 .15em;border-radius:.2em}
