/* Quest Alder: a cloth-bound book with a map of rooms. Hand-written CSS, no framework. */
:root{
  --wine:#4A1320; --wine-deep:#2F0B14; --wine-lift:#5E1A2B;
  --parch:#F3E7C9; --parch-dim:#E5D4A9; --parch-edge:#CDB98A;
  --gilt:#D9A441; --gilt-pale:#EFD592;
  --ink:#2A1410; --ink-soft:#5A3B2E; --rubric:#8A1A2B;
  --fell:'IM Fell English',Georgia,'Times New Roman',serif;
  --fellsc:'IM Fell English SC','IM Fell English',Georgia,serif;
  --body:'Literata',Georgia,'Times New Roman',serif;
  --wrap:1120px; --g:22px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background-color:var(--wine);
  background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);
  color:var(--parch);font:400 1.0625rem/1.68 var(--body);font-optical-sizing:auto;overflow-x:hidden;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--fell);font-weight:400;font-synthesis:none;line-height:1.1;margin:0;text-wrap:balance}
p{margin:0 0 1.05em}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--gilt);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--gilt-pale)}
:focus-visible{outline:3px solid var(--gilt);outline-offset:3px;border-radius:2px}
.fig{font-family:var(--body);font-size:.84em;font-weight:500;letter-spacing:.01em}
.skip{position:absolute;left:-999px;top:0;background:var(--gilt);color:var(--wine-deep);padding:10px 16px;z-index:60}
.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.sc{font-family:var(--fellsc);letter-spacing:.05em}

/* ---------- running head ---------- */
.top{position:sticky;top:0;z-index:30;background:var(--wine-deep);border-bottom:1px solid rgba(217,164,65,.55);box-shadow:0 4px 0 -3px rgba(217,164,65,.35)}
.top-in{max-width:var(--wrap);margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 1.55rem/1 var(--fell);color:var(--parch);white-space:nowrap}
.brand svg{width:34px;height:34px;flex:none}
.brand:hover{color:var(--gilt-pale)}
.running{margin:0 0 0 auto;font:italic 400 1.02rem/1.2 var(--fell);color:var(--gilt-pale);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mapbtn{display:inline-flex;align-items:center;gap:9px;flex:none;padding:7px 15px 7px 9px;border:1px solid var(--gilt);border-radius:999px;background:transparent;color:var(--parch);font:400 1.08rem/1 var(--fell);text-decoration:none;cursor:pointer}
.mapbtn svg{width:26px;height:26px}
.mapbtn:hover{background:var(--gilt);color:var(--wine-deep)}
.mapbtn:hover svg .nd{fill:var(--wine-deep)}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:13px 24px 12px;background:var(--gilt);color:var(--wine-deep);font:400 1.22rem/1.15 var(--fell);text-decoration:none;border-radius:2px;box-shadow:inset 0 0 0 1px var(--gilt),inset 0 0 0 3px var(--gilt),inset 0 0 0 4px rgba(47,11,20,.55);cursor:pointer;border:0}
.btn:hover{background:var(--gilt-pale);color:var(--wine-deep)}
.sheet .btn,.leaf .btn{background:var(--wine);color:var(--parch);box-shadow:inset 0 0 0 3px var(--wine),inset 0 0 0 4px rgba(217,164,65,.8)}
.sheet .btn:hover,.leaf .btn:hover{background:var(--rubric);color:#fff}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin:1.4em 0 0}

/* ---------- first screen: the open book ---------- */
.desk{padding:44px 24px 56px}
.book{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;background:var(--parch);color:var(--ink);position:relative;border-radius:3px;
  box-shadow:0 0 0 1px var(--parch-edge),5px 5px 0 -1px var(--parch-dim),5px 5px 0 0 var(--parch-edge),10px 10px 0 -1px var(--parch-dim),10px 10px 0 0 var(--parch-edge),0 0 0 14px var(--wine-deep),10px 10px 0 14px var(--wine-deep),0 0 0 15px rgba(217,164,65,.7),10px 10px 0 15px rgba(217,164,65,.7),0 34px 60px 10px rgba(0,0,0,.45)}
.book::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:120px;transform:translateX(-50%);pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(74,40,20,.10) 38%,rgba(42,20,16,.30) 50%,rgba(74,40,20,.10) 62%,transparent)}
.leaf{padding:38px 44px 40px;min-width:0}
.leaf-l{display:flex;flex-direction:column;justify-content:center}
.leaf-r{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.imprint{font:400 1.05rem/1 var(--fellsc);letter-spacing:.2em;color:var(--rubric);margin:0 0 20px}
.leaf-r h1{font-size:clamp(2.5rem,4.6vw,4.3rem);line-height:1.02;color:var(--ink);max-width:11em}
.leaf-r .sub{font:italic 400 clamp(1.25rem,1.9vw,1.6rem)/1.3 var(--fell);color:var(--rubric);margin:16px 0 0;max-width:20em}
.fleuron{width:150px;height:22px;margin:22px auto;color:var(--rubric)}
.leaf-r .lede{max-width:31em;font-size:1.04rem;line-height:1.62;margin:0 auto}
.leaf-r .acts{justify-content:center}
.leaf-r a:not(.btn){color:var(--rubric);text-decoration-color:currentColor}
.checked{font:italic 400 1rem/1.3 var(--fell);color:var(--ink-soft);margin:22px 0 0}
.folio{position:absolute;bottom:12px;font:400 .95rem/1 var(--fell);color:var(--ink-soft)}
.folio-l{left:44px}.folio-r{right:44px}

/* plates: pictures tipped in on paper */
.plate{margin:0}
.plate img{width:100%;mix-blend-mode:multiply}
.plate figcaption{font:italic 400 1rem/1.4 var(--fell);color:var(--ink-soft);text-align:center;padding:10px 6px 0}
.plate-mat{background:var(--parch);padding:12px 12px 14px;border-radius:2px;box-shadow:0 0 0 1px var(--parch-edge),0 0 0 5px var(--wine-deep),0 0 0 6px rgba(217,164,65,.7),0 16px 30px rgba(0,0,0,.35)}
.plate-mat figcaption{color:var(--ink-soft)}

/* ---------- sections on cloth ---------- */
.sec{padding:56px 0}
.sec > .wrap > h2,.sec-h{font-size:clamp(2rem,3.6vw,3rem);margin:0 0 .5em}
.sec-lede{max-width:44em;font-size:1.1rem;color:var(--parch)}
.rule{height:5px;border-top:1px solid var(--gilt);border-bottom:1px solid var(--gilt);width:120px;margin:0 0 26px;opacity:.8}
.band{background:var(--wine-deep);border-top:1px solid rgba(217,164,65,.4);border-bottom:1px solid rgba(217,164,65,.4)}

/* table of contents with leaders */
.toc{list-style:none;margin:26px 0 0;padding:0;counter-reset:none}
.toc li{border-top:1px solid rgba(243,231,201,.22)}
.toc li:last-child{border-bottom:1px solid rgba(243,231,201,.22)}
.toc a{display:grid;grid-template-columns:3.2rem minmax(0,auto) minmax(24px,1fr) auto;align-items:baseline;column-gap:14px;padding:17px 4px 15px;text-decoration:none}
.toc-n{font:400 1.5rem/1 var(--fell);color:var(--gilt)}
.toc-t{font:400 clamp(1.5rem,2.6vw,2.15rem)/1.12 var(--fell)}
.toc-a{display:block;font:italic 400 1.02rem/1.35 var(--body);color:var(--gilt-pale);margin-top:4px}
.toc-dots{border-bottom:2px dotted rgba(217,164,65,.6);transform:translateY(-.35em)}
.toc-f{font:400 1.02rem/1.3 var(--body);text-align:right;max-width:17em}
.toc a:hover .toc-t{color:var(--gilt-pale)}
.toc a:hover .toc-dots{border-bottom-color:var(--gilt-pale)}
.toc li[hidden]+li{border-top:1px solid rgba(243,231,201,.22)}

/* filter chips on the list page */
.sift{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;align-items:center}
.sift-l{font:italic 400 1.1rem/1 var(--fell);margin-right:6px;color:var(--gilt-pale)}
.sift button{font:400 1.06rem/1 var(--fell);padding:9px 16px 8px;background:transparent;color:var(--parch);border:1px solid rgba(243,231,201,.5);border-radius:999px;cursor:pointer}
.sift button[aria-pressed="true"]{background:var(--parch);color:var(--wine-deep);border-color:var(--parch)}
.sift button:hover{border-color:var(--gilt)}
.sift-n{margin:14px 0 0;font-style:italic;color:var(--gilt-pale)}

/* ---------- paper sheet ---------- */
.sheet{background:var(--parch);color:var(--ink);border-radius:3px;padding:40px 48px;position:relative;
  background-image:radial-gradient(ellipse at 50% 40%,transparent 62%,rgba(150,110,50,.13) 100%);
  box-shadow:0 0 0 1px var(--parch-edge),4px 4px 0 -1px var(--parch-dim),4px 4px 0 0 var(--parch-edge),0 22px 40px rgba(0,0,0,.35)}
.sheet a{color:var(--rubric);text-decoration-color:currentColor}
.sheet a:hover{color:var(--wine-deep)}
.sheet h2{font-size:clamp(1.7rem,2.8vw,2.3rem);margin:1.5em 0 .5em;color:var(--ink)}
.sheet h2:first-child{margin-top:0}
.sheet h3{font-size:1.4rem;margin:1.3em 0 .35em}
.sheet :focus-visible{outline-color:var(--rubric)}

/* ---------- the map of rooms ---------- */
.map{list-style:none;margin:0;padding:6px 0 4px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--g)}
.room{position:relative;min-width:0}
.room a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:62px;height:100%;padding:8px 8px 7px;background:var(--parch-dim);color:var(--ink);border:2px solid var(--ink);border-radius:4px 7px 5px 8px/7px 4px 8px 5px;font:400 1.06rem/1.15 var(--fellsc);letter-spacing:.03em;text-decoration:none}
.room a:hover{background:#fff7df;color:var(--rubric)}
.room-k{font:400 .98rem/1 var(--fell);color:var(--rubric);letter-spacing:0;margin-bottom:3px}
.room .here{display:none;font:italic 400 .86rem/1 var(--fell);letter-spacing:0;margin-top:4px;color:var(--gilt-pale)}
.room a[aria-current]{background:var(--wine);color:var(--parch);border-color:var(--wine-deep);box-shadow:0 0 0 3px var(--gilt)}
.room a[aria-current] .room-k{color:var(--gilt)}
.room a[aria-current] .here{display:block}
.xe::after{content:"";position:absolute;left:100%;top:50%;width:var(--g);border-top:2px solid var(--ink)}
.xs::before{content:"";position:absolute;top:100%;left:50%;height:var(--g);border-left:2px solid var(--ink)}
.r-g{grid-row:1}
.r-list{grid-row:2;grid-column:1/-1}
.r-a{grid-column:1/3}.r-b{grid-column:3/5}.r-c{grid-column:5/7}
.r3{grid-row:3}.r4{grid-row:4}.r5{grid-row:5}.r6{grid-row:6}.r7{grid-row:7}
.map-rose{grid-row:6;grid-column:5/7;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.map-rose svg{width:74px;height:74px}
.map-key{margin:16px 0 0;font:italic 400 1.02rem/1.45 var(--fell);color:var(--ink-soft)}
.mapdlg{border:0;padding:0;background:transparent;max-width:min(1040px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 24px);overflow:auto;color:var(--ink)}
.mapdlg::backdrop{background:rgba(28,6,11,.82)}
.mapdlg .sheet{padding:26px 30px 28px;margin:6px}
.mapdlg h2{font-size:1.9rem;margin:0 0 14px}
.dlg-x{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.dlg-x button{font:400 1.05rem/1 var(--fell);background:var(--wine);color:var(--parch);border:0;border-radius:2px;padding:10px 16px 9px;cursor:pointer}
.dlg-x button:hover{background:var(--rubric)}

/* ---------- page heads on cloth ---------- */
.phead{padding:54px 0 30px}
.phead h1{font-size:clamp(2.5rem,5.4vw,4.4rem);max-width:15em}
.phead .lede{font:italic 400 clamp(1.2rem,1.9vw,1.5rem)/1.4 var(--fell);color:var(--gilt-pale);max-width:34em;margin:18px 0 0}
.chap-no{font:400 1.15rem/1 var(--fellsc);letter-spacing:.16em;color:var(--gilt);margin:0 0 14px}
.crumbs{font:italic 400 1rem/1.3 var(--fell);color:var(--gilt-pale);margin:0 0 18px}

/* prose on cloth */
.prose{max-width:41em}
.prose h2{font-size:clamp(1.7rem,2.8vw,2.3rem);margin:1.6em 0 .5em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.4rem;margin:1.3em 0 .35em}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.05em}
.prose li{margin:0 0 .45em}
.prose li::marker{color:var(--gilt)}
.sheet .prose li::marker{color:var(--rubric)}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px 56px;align-items:start}
.cols-wide{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}

/* margin notes: the text column and an outer margin */
.noted{display:grid;grid-template-columns:minmax(0,39em) minmax(0,15em);column-gap:44px;align-items:start}
.noted > *{grid-column:1;min-width:0}
.noted > .mnote{grid-column:2;margin:.3em 0 1em;font:400 .93rem/1.5 var(--body);color:var(--ink-soft);border-top:1px solid var(--rubric);padding-top:8px}
.noted > .mnote b{font:400 1rem/1.2 var(--fellsc);letter-spacing:.06em;color:var(--rubric);display:block;margin-bottom:2px}
.noted > .wide{grid-column:1/-1}
.dropcap::first-letter{font:400 4.6em/.78 var(--fell);float:left;padding:.07em .1em 0 0;color:var(--rubric)}

/* particulars: a list of facts with leaders */
.facts{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.facts > div{display:grid;grid-template-columns:minmax(7.5em,11em) minmax(0,1fr);gap:4px 22px;padding:11px 0 10px;border-top:1px solid rgba(42,20,16,.28)}
.facts > div:last-child{border-bottom:1px solid rgba(42,20,16,.28)}
.facts dt{font:400 1.12rem/1.3 var(--fellsc);letter-spacing:.04em;color:var(--rubric)}
.facts dd{margin:0}
.facts .src{display:block;font-size:.9rem;color:var(--ink-soft);font-style:italic}

/* a transcript of typed moves */
.script{margin:1.2em 0;padding:18px 22px 8px;background:var(--wine-deep);color:var(--parch);border-radius:3px;border-left:4px solid var(--gilt)}
.script p{margin:0 0 .7em}
.script .you{font:400 1.14rem/1.3 var(--fellsc);letter-spacing:.06em;color:var(--gilt-pale)}
.script .you::before{content:"> ";color:var(--gilt)}
.script .it{font-style:italic}
.script .note{font-size:.92rem;color:var(--gilt-pale);font-style:normal}

/* tables on paper */
.tbl{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.45}
.tbl caption{caption-side:top;text-align:left;font:italic 400 1.1rem/1.4 var(--fell);color:var(--ink-soft);padding:0 0 12px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:12px 14px 11px 0;border-top:1px solid rgba(42,20,16,.3)}
.tbl thead th{font:400 1.08rem/1.2 var(--fellsc);letter-spacing:.05em;color:var(--rubric);border-top:0;border-bottom:2px solid var(--ink)}
.tbl tbody th{font:400 1.25rem/1.2 var(--fell)}
.tbl tr:last-child td,.tbl tr:last-child th{border-bottom:1px solid rgba(42,20,16,.3)}
.kbd{font:400 1.05em/1 var(--fellsc);letter-spacing:.06em;color:var(--gilt-pale);white-space:nowrap}
.sheet .kbd,.leaf .kbd,.slip .kbd{color:var(--rubric)}
.sheet .script .kbd{color:var(--gilt-pale)}

/* chapter turner */
.turn{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:34px 0 0}
.turn a{display:block;padding:16px 4px;border-top:1px solid rgba(217,164,65,.6);text-decoration:none}
.turn a span{display:block;font:italic 400 1rem/1.2 var(--fell);color:var(--gilt-pale)}
.turn a b{font:400 1.5rem/1.2 var(--fell)}
.turn .nx{text-align:right}

/* gamebook chooser */
.gb{counter-reset:none;max-width:46em}
.gb-p{padding:24px 0 20px;border-top:1px solid rgba(42,20,16,.3)}
.gb-p:first-of-type{border-top:0;padding-top:0}
.gb-p h2{display:flex;align-items:baseline;gap:14px;font-size:1.7rem;margin:0 0 .45em}
.gb-n{font:400 2.4rem/1 var(--fell);color:var(--rubric);min-width:1.4em}
.gb-go{list-style:none;padding:0;margin:.4em 0 0}
.gb-go li{margin:0 0 .5em;padding-left:1.4em;position:relative}
.gb-go li::before{content:"\261E";position:absolute;left:0;top:-.05em;color:var(--rubric)}
.gb-end{background:rgba(138,26,43,.08);padding:20px 22px 14px;border-top:2px solid var(--rubric)}
.gb-trail{font:italic 400 1rem/1.4 var(--body);color:var(--ink-soft);margin:0 0 18px}
.tbl tbody th .fig{font-size:.92em}
.chap-play{margin:22px 0 0}
.chap-play > span{font:italic 400 1rem/1.35 var(--body);color:var(--ink-soft)}
.gb-re{font:400 1.05rem/1 var(--fell);background:none;border:0;border-bottom:1px solid var(--rubric);color:var(--rubric);padding:0 0 2px;cursor:pointer}

/* faq */
.qa{border-top:1px solid rgba(243,231,201,.25);padding:20px 0 6px;max-width:44em}
.qa h2{font-size:1.55rem;margin:0 0 .45em}
/* dated notes */
.note-d{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:8px 30px;padding:22px 0 8px;border-top:1px solid rgba(243,231,201,.25);max-width:52em}
.note-d h2{font-size:1.5rem;margin:0 0 .4em}
.note-when{font:400 1.05rem/1.3 var(--fellsc);letter-spacing:.05em;color:var(--gilt)}

.note-d h3{font-size:1.5rem;margin:0 0 .4em}
/* page parts */
.sec-p{padding:14px 0 26px}
.sec-p.band{padding:44px 0 34px;margin:26px 0}
.prose.noted,.sheet .prose{max-width:none}
.sheet .prose:not(.noted) > p,.sheet .prose:not(.noted) > ul,.sheet .prose:not(.noted) > ol{max-width:41em}
.key{font-weight:600}
.gb-n{font-family:var(--body)!important;font-weight:500!important;font-size:2rem!important}
.on-cloth .mnote{color:var(--gilt-pale);border-top-color:var(--gilt)}
.on-cloth .mnote b{color:var(--gilt)}
.on-cloth .facts > div{border-color:rgba(243,231,201,.25)}
.on-cloth .facts dt{color:var(--gilt)}
.on-cloth .facts .src{color:var(--gilt-pale)}
.chap-top{margin:0 0 34px;align-items:start}
.chap-top .facts > div{grid-template-columns:minmax(6em,7.6em) minmax(0,1fr);gap:2px 16px;font-size:.98rem;line-height:1.5}
.kind-h{font-size:1.7rem;margin:22px 0 .4em}
.toc-note{margin:-4px 0 18px calc(3.2rem + 18px);max-width:44em;color:var(--parch);font-size:1rem}
.sheet .script a{color:var(--gilt-pale)}
.mail{font:400 clamp(1.5rem,4.4vw,2.4rem)/1.2 var(--fell)}

/* ---------- exits: the compass ---------- */
.exits{background:var(--wine-deep);border-top:1px solid rgba(217,164,65,.5);padding:44px 0 46px;margin-top:64px}
.exits h2{font-size:1.9rem;text-align:center;margin:0 0 22px}
.rose{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);grid-template-areas:". n ." "w d e" ". s .";gap:10px 22px;align-items:center;max-width:820px;margin:0 auto}
.ex{display:block;text-decoration:none;font:400 1.3rem/1.2 var(--fell);padding:6px 4px}
.ex b{display:block;font:400 .98rem/1 var(--fellsc);letter-spacing:.16em;color:var(--gilt);margin-bottom:4px}
.ex:hover{color:var(--gilt-pale)}
.ex-n{grid-area:n;text-align:center;grid-column:1/-1}.ex-s{grid-area:s;text-align:center;grid-column:1/-1}
.ex-w{grid-area:w;text-align:right}.ex-e{grid-area:e;text-align:left}
.ex-none{color:rgba(243,231,201,.42);font:italic 400 1.05rem/1.2 var(--fell)}
.dial{grid-area:d;width:150px;height:150px}
.dial svg{width:100%;height:100%;display:block}
.needle{transform-origin:60px 60px;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.cmd{display:flex;align-items:center;gap:10px;max-width:520px;margin:30px auto 0;padding:6px 6px 6px 16px;border:1px solid rgba(217,164,65,.7);border-radius:3px;background:rgba(0,0,0,.22)}
.cmd label{position:absolute;left:-9999px}
.cmd-p{font:400 1.5rem/1 var(--fell);color:var(--gilt)}
.cmd input{flex:1;min-width:0;background:transparent;border:0;color:var(--parch);font:400 1.08rem/1.3 var(--body);padding:8px 0}
.cmd input::placeholder{color:rgba(243,231,201,.55);font-style:italic}
.cmd input:focus{outline:none}
.cmd:focus-within{border-color:var(--gilt-pale);box-shadow:0 0 0 2px rgba(217,164,65,.35)}
.cmd button{font:400 1.08rem/1 var(--fell);background:var(--gilt);color:var(--wine-deep);border:0;border-radius:2px;padding:10px 16px 9px;cursor:pointer}
.cmd-out{max-width:520px;margin:12px auto 0;min-height:1.6em;font-style:italic;color:var(--gilt-pale);text-align:center}

/* ---------- footer: index and colophon ---------- */
.foot{background:var(--wine-deep);padding:46px 0 40px;border-top:1px solid rgba(217,164,65,.3)}
.foot-idx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 34px}
.foot h2{font:400 1.12rem/1.2 var(--fellsc);letter-spacing:.12em;color:var(--gilt);margin:0 0 10px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 7px;line-height:1.35}
.foot a{text-decoration-color:rgba(217,164,65,.45)}
.coloph{margin:38px auto 0;max-width:40em;text-align:center;font:italic 400 1.05rem/1.55 var(--fell);color:var(--gilt-pale)}
.coloph + .coloph{margin-top:10px;font-size:.98rem;color:rgba(243,231,201,.7)}

/* cookie slip and top link */
.slip{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:620px;margin:0 auto;background:var(--parch);color:var(--ink);padding:18px 22px 16px;border-radius:3px;box-shadow:0 0 0 1px var(--parch-edge),0 0 0 5px var(--wine-deep),0 0 0 6px var(--gilt),0 18px 40px rgba(0,0,0,.5)}
.slip h2{font-size:1.4rem;margin:0 0 6px}
.slip p{margin:0 0 12px;font-size:.98rem;line-height:1.5}
.slip a{color:var(--rubric)}
.slip-b{display:flex;flex-wrap:wrap;gap:10px}
.slip-b button{font:400 1.08rem/1 var(--fell);padding:11px 18px 10px;border-radius:2px;cursor:pointer;border:1px solid var(--wine);background:var(--wine);color:var(--parch)}
.slip-b button + button{background:transparent;color:var(--wine)}
.totop{position:fixed;right:18px;bottom:18px;z-index:40;background:var(--gilt);color:var(--wine-deep);font:400 1rem/1 var(--fell);padding:11px 13px 16px;text-decoration:none;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.totop:hover{background:var(--gilt-pale);color:var(--wine-deep)}

/* ---------- small screens ---------- */
@media (max-width:900px){
  :root{--g:12px}
  .book{grid-template-columns:1fr;box-shadow:0 0 0 1px var(--parch-edge),4px 4px 0 -1px var(--parch-dim),4px 4px 0 0 var(--parch-edge),0 0 0 9px var(--wine-deep),4px 4px 0 9px var(--wine-deep),0 0 0 10px rgba(217,164,65,.7),4px 4px 0 10px rgba(217,164,65,.7),0 24px 40px rgba(0,0,0,.4)}
  .book::after{display:none}
  .leaf{padding:26px 24px 28px}
  .leaf-l{padding-bottom:6px}
  .folio{display:none}
  .cols,.cols-wide{grid-template-columns:minmax(0,1fr);gap:30px}
  .noted{grid-template-columns:minmax(0,1fr)}
  .noted > .mnote{grid-column:1;border-top:0;border-left:3px solid var(--rubric);padding:2px 0 2px 14px;margin:0 0 1.2em}
  .foot-idx{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sheet{padding:28px 24px}
}
@media (max-width:700px){
  body{font-size:1rem}
  .wrap{padding:0 18px}
  .top-in{padding:8px 16px;gap:10px}
  .brand{font-size:1.32rem;gap:8px}.brand svg{width:28px;height:28px}
  .running{display:none}
  .mapbtn{margin-left:auto;font-size:1rem;padding:6px 12px 6px 7px}
  .desk{padding:26px 22px 40px}
  .sec{padding:40px 0}
  .phead{padding:36px 0 22px}
  .sheet{padding:22px 18px;box-shadow:0 0 0 1px var(--parch-edge),0 14px 26px rgba(0,0,0,.35)}
  .toc a{grid-template-columns:2.3rem minmax(0,1fr);row-gap:4px}
  .toc-dots{display:none}
  .toc-f{grid-column:2;text-align:left;font-style:italic;color:var(--parch);max-width:none}
  .toc-note{margin-left:calc(2.3rem + 14px)}
  .chap-top .facts > div{grid-template-columns:minmax(0,1fr)}
  .map{gap:var(--g)}
  .room a{font-size:.84rem;padding:6px 3px;min-height:52px;letter-spacing:0;border-width:1.5px}
  .r-g .room-t{position:absolute;left:-9999px}
  .r-g .room-k{font-size:1.15rem;margin:0}
  .room .here{font-size:.74rem}
  .map-rose svg{width:52px;height:52px}
  .mapdlg .sheet{padding:18px 14px 20px;margin:4px}
  .facts > div{grid-template-columns:minmax(0,1fr);gap:2px}
  .rose{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);gap:8px 10px}
  .dial{width:84px;height:84px}
  .ex{font-size:1.08rem}
  .note-d{grid-template-columns:minmax(0,1fr);gap:2px}
  .turn{grid-template-columns:minmax(0,1fr);gap:0}
  .turn .nx{text-align:left}
  /* tables become stacked entries */
  .tbl thead{position:absolute;left:-9999px}
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block}
  .tbl tr{padding:12px 0 10px;border-top:2px solid var(--ink)}
  .tbl th,.tbl td{border:0!important;padding:3px 0}
  .tbl td[data-l]::before{content:attr(data-l) ": ";font:400 1rem/1.2 var(--fellsc);letter-spacing:.04em;color:var(--rubric)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{.top,.exits,.slip,.totop,.mapdlg{display:none}body{background:#fff;color:#000}}
