:root{--bg:#f6f1e4;--ink:#2a2620;--muted:#7a7266;--rule:#cfc5ae;--accent:#7b2d26;--blank:#fff6c8}
@media (prefers-color-scheme:dark){:root{--bg:#1d1b18;--ink:#e8e1d2;--muted:#9a9282;--rule:#4a443a;--accent:#e0a090;--blank:#4a4220}}
body{margin:0;background:var(--bg);color:var(--ink);font:1.1rem/1.6 Georgia,'Times New Roman',serif}
main{max-width:34rem;margin:0 auto;padding:2.5rem 16px 1rem}
h1{font-size:1.7rem;margin:0 0 1rem;font-weight:normal;letter-spacing:.02em}
h2{font-size:1.1rem;margin:2rem 0 .5rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:normal}
.eliza{font-size:1.3rem;margin:1.5rem 0}
.who{font-variant:small-caps;color:var(--muted);margin-right:.4em}
.note{color:var(--muted);font-size:.95rem;font-style:italic}
.blank{display:inline-block;min-width:7rem;border-bottom:1px dashed var(--accent);background:var(--blank);padding:0 .3em;outline:none}
.blank:empty::before{content:attr(data-hint);color:var(--muted);font-style:italic;font-size:.8em}
.blank.sample{min-width:3rem}
ol.index{padding-left:1.8rem;margin:.2rem 0}
ol.index li{margin:.5rem 0;border-bottom:1px dotted var(--rule);padding-bottom:.4rem}
ol.index+ol.index{margin-top:1rem;padding-top:.4rem;border-top:2px solid var(--rule)}
.words{display:inline-block;margin-right:.6rem}
a{color:var(--accent)}
.swaps td{padding:0 .6rem 0 0}
.closing{margin-top:2rem}
footer{text-align:center;color:var(--muted);padding:1.5rem 16px 3rem}
aside.rules{max-width:34rem;margin:0 auto;padding:1rem 16px 0}
aside.rules details{border:1px solid var(--rule);padding:.5rem .8rem;font-size:.95rem;background:var(--bg)}
aside.rules summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
@media (min-width:76rem){aside.rules{position:fixed;top:1rem;right:1rem;width:20rem;max-width:none;margin:0;padding:0;max-height:calc(100vh - 2rem);overflow:auto}}
.begin{font-size:1.3rem;margin-top:2.5rem}
