:root{--paper: #f4efe3;--paper-edge: #e6dfd0;--ink: #241f1a;--ink-soft: #5d554a;--ink-faint: #8b8275;--rule: #cdc3b0;--accent: #8c2f22;--accent-soft: #b8635400;--measure: 34rem;--gutter: 16px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #17171a;--paper-edge: #101012;--ink: #ded7c9;--ink-soft: #a49c8e;--ink-faint: #756e63;--rule: #3a3833;--accent: #d08573}}:root[data-theme=dark]{--paper: #17171a;--paper-edge: #101012;--ink: #ded7c9;--ink-soft: #a49c8e;--ink-faint: #756e63;--rule: #3a3833;--accent: #d08573}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper-edge);color:var(--ink);font-family:EB Garamond,Garamond,Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:19px;line-height:1.55;overflow-x:hidden}@media(max-width:480px){html,body{font-size:17px}}button{font:inherit;color:inherit}#book{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;background:var(--paper-edge)}.spread{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:78rem;background:var(--paper);height:100vh;height:100dvh;overflow:hidden}@media(min-width:900px){.spread{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}.page{padding:2.2rem var(--gutter) 1.4rem;min-width:0;min-height:0;display:flex;flex-direction:column}@media(min-width:900px){.page{padding:2.6rem 2.6rem 1.6rem}.page--notebook{border-left:1px solid var(--rule)}}.page--prose{position:relative}.runhead{flex:0 0 auto;display:flex;justify-content:space-between;gap:1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--rule);padding-bottom:.5rem;margin-bottom:1.4rem}.runhead span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.leaf{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;max-width:var(--measure);padding-right:.4rem}.leaf.turning{animation:turn .14s ease-out}@keyframes turn{0%{opacity:0;transform:translate(7px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.leaf.turning{animation:none}}.leaf p{margin:0 0 1rem;text-wrap:pretty}.leaf p+p{text-indent:1.2em}.prose--arrival,.prose--place,.prose--narrator,.prose--approach,.prose--exchange,.prose--find,.prose--nothing,.prose--transition{color:var(--ink)}.prose--monologue,.prose--ambient,.prose--aside{color:var(--ink-soft)}.prose--aside{font-style:italic}.prose--simile{font-style:italic;color:var(--ink-soft)}.prose--record{text-indent:0;margin-left:1.2em;border-left:1px solid var(--rule);padding-left:.9em}.note{color:var(--ink-soft);font-style:italic;white-space:pre-line;text-indent:0}.presence{margin:1.2rem 0 1rem;text-indent:0;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:.7rem;font-size:.92em}.presence ul{margin:.3rem 0 0;padding:0;list-style:none}.presence li{margin:.1rem 0}.timeline{margin:0 0 1rem;border-collapse:collapse;font-size:.9em;width:100%;max-width:22rem}.timeline td{padding:.05rem .6rem .05rem 0;vertical-align:baseline}.timeline td:first-child{color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.noun{background:none;border:0;padding:0;margin:0;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer;font:inherit;line-height:inherit}.noun:hover,.noun:focus-visible{background:var(--accent-soft);text-decoration-thickness:2px;outline:none}.prompt{flex:0 0 auto;margin-top:1.6rem;border-top:1px solid var(--rule);padding-top:.8rem;max-width:var(--measure)}.prompt form{display:flex;align-items:baseline;gap:.5ch}.prompt .caret{font-family:Courier New,Courier,monospace;color:var(--accent);animation:blink 1.1s steps(1,end) infinite}@keyframes blink{50%{opacity:.15}}@media(prefers-reduced-motion:reduce){.prompt .caret{animation:none}}.prompt input{flex:1 1 auto;min-width:0;background:transparent;border:0;outline:none;color:var(--ink);font-family:Courier New,Courier,monospace;font-size:.84rem;letter-spacing:.02em;padding:.15rem 0}.prompt input::placeholder{color:var(--ink-faint)}.prompt .hint{margin:.45rem 0 0;font-family:Courier New,Courier,monospace;font-size:.68rem;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:.2rem 1rem}.prompt .hint button{background:none;border:0;padding:0;color:var(--ink-faint);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font:inherit}.prompt .hint button:hover{color:var(--accent)}.page--notebook h2{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:400;margin:1.6rem 0 .5rem;border-bottom:1px solid var(--rule);padding-bottom:.3rem}.page--notebook h2:first-of-type{margin-top:0}.page--notebook .body{font-size:.88rem;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.4rem}.nb-clock{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-variant-numeric:tabular-nums}.nb-clock .time{font-size:1.5rem}.nb-entry{margin:0 0 .9rem}.nb-entry .who{display:block}.nb-entry .role{color:var(--ink-faint);font-style:italic}.nb-entry ul{margin:.15rem 0 0;padding-left:.9rem;list-style:none}.nb-entry li{text-indent:-.9rem;padding-left:.9rem}.nb-entry li:before{content:"· ";color:var(--ink-faint)}.nb-entry li .src{color:var(--ink-faint)}li.contradiction{color:var(--accent)}li.contradiction:before{content:"! ";color:var(--accent)}.nb-account{color:var(--ink-soft);font-style:italic;margin:.2rem 0 0 .9rem}.nb-place{margin:0 0 .7rem}.nb-place .meta,.nb-place .objects{color:var(--ink-faint);display:block}.nb-record{margin:.25rem 0 .4rem .9rem;padding-left:.6rem;border-left:1px solid var(--rule);color:var(--ink)}.nb-place.unvisited{color:var(--ink-faint)}.nb-leads{margin:0 0 .8rem}.nb-leads ul{margin:.2rem 0 0;padding:0;list-style:none}.nb-leads .where{color:var(--ink-faint)}.lead{background:none;border:0;padding:.05rem 0;text-align:left;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font:inherit}.lead .cost{color:var(--ink-faint);text-decoration:none}.nb-established dt{color:var(--ink-faint);float:left;clear:left;margin-right:.5ch}.nb-established dd{margin:0 0 .2rem}.tab{display:none}@media(max-width:899px){.page--notebook{display:none}body.notebook-open .page--notebook{display:flex}body.notebook-open .page--prose{display:none}.tab{display:block;position:fixed;right:0;top:40%;z-index:5;background:var(--paper);border:1px solid var(--rule);border-right:0;border-radius:3px 0 0 3px;padding:.7rem .35rem;writing-mode:vertical-rl;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer}}.title-page{max-width:30rem;margin:auto;padding:3rem var(--gutter);text-align:center}.title-page h1{font-size:clamp(2.4rem,12vw,4rem);font-weight:400;letter-spacing:.32em;margin:0 0 .4rem;text-indent:.32em}.title-page .sub{color:var(--ink-soft);font-style:italic;margin:0 0 2.6rem}.title-page label{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.3rem}.title-page .name-line{margin-bottom:2.4rem}.title-page input[type=text]{width:100%;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font:inherit;font-size:1.4rem;text-align:center;padding:.3rem 0;outline:none}.title-page input:focus{border-bottom-color:var(--accent)}.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;margin-bottom:2.4rem;font-size:.9rem}.controls .field{min-width:7rem}.controls input[type=number],.controls select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font:inherit;text-align:center;padding:.25rem 0;outline:none}.open-case,.plain-button{background:none;border:1px solid var(--rule);color:var(--ink);padding:.6rem 1.6rem;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem}.open-case:hover,.plain-button:hover{border-color:var(--accent);color:var(--accent)}.title-page .footnote{margin-top:2.6rem;font-size:.78rem;color:var(--ink-faint);line-height:1.7}.report{max-width:var(--measure)}.report h2{font-size:1.1rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .3rem}.report .field{margin:0 0 1.1rem}.report label{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.2rem}.report select{width:100%;max-width:26rem;background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font:inherit;padding:.3rem 0;outline:none}.report select:focus{border-bottom-color:var(--accent)}.verdict{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.8rem 0;margin:0 0 1.2rem;font-size:.9rem}.verdict-row{display:grid;grid-template-columns:minmax(6rem,auto) 1fr 1.2rem;gap:.6rem 1rem;padding:.12rem 0}.verdict-row .given,.verdict-row .mark{text-align:right}.report strong{font-weight:400;font-variant:small-caps;letter-spacing:.04em}.verdict-row .mark{color:var(--ink-faint)}.verdict-row.wrong .mark,.verdict-row.wrong .given{color:var(--accent)}.score{font-size:1.3rem;margin:0 0 1rem}.after{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.appendix{max-width:60rem;margin:0 auto;padding:2rem var(--gutter)}.appendix pre{font-family:Courier New,Courier,monospace;font-size:.72rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--ink-soft);margin:1.4rem 0 0}.appendix h1{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--ink-faint);margin:0}.noun-menu{position:absolute;z-index:10;background:var(--paper);border:1px solid var(--rule);padding:.3rem 0;min-width:13rem;max-width:min(22rem,calc(100vw - 2 * var(--gutter)));max-height:17rem;overflow-y:auto;font-size:.82rem}.noun-menu .group{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding:.5rem .8rem .15rem}.noun-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:.22rem .8rem;cursor:pointer}.noun-menu button:hover,.noun-menu button:focus-visible{background:var(--rule);outline:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
