*{box-sizing:border-box} :root{color-scheme:dark;font-family:Georgia,'Times New Roman',serif;color:#e6e9ee;background:#09111d}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 80% 20%,#19324266,transparent 55%),#09111d}header{max-width:1440px;margin:auto;padding:32px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff15}.wordmark{color:#f5f6f8;text-decoration:none;font:600 19px/1.4 Arial,sans-serif;letter-spacing:.12em}.wordmark span{color:#87c9d0}.wordmark .domain{letter-spacing:0;font-size:14px;color:#94a4b8}.book{font-size:16px;color:#acb8c8}main{max-width:1440px;margin:0 auto;padding:38px 5%}.chapter{display:flex;justify-content:space-between;font:12px Arial,sans-serif;letter-spacing:.23em;color:#91a9b9;margin-bottom:24px}.stage{display:grid;grid-template-columns:minmax(120px,1fr) minmax(350px,3.7fr) minmax(120px,1fr);gap:28px;align-items:start}.portrait{margin-top:86px;opacity:.43;transition:opacity .7s,transform .7s}.portrait.active{opacity:1;transform:translateY(-5px)}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid #ffffff20;border-radius:3px;filter:saturate(.65)}.portrait.active img{border-color:#82c8cf;filter:none;box-shadow:0 12px 40px #0005}.portrait h2{font-size:24px;font-weight:400;margin:14px 0 6px}.portrait p{font:14px Arial,sans-serif;color:#92acba;margin:0}.portrait.active p{color:#a5e5e4}.email{background:#f6f5f1;color:#222f3a;border-radius:7px;overflow:hidden;box-shadow:0 25px 65px #0005}.mailbar{padding:17px 25px;background:#e9eae6;display:flex;justify-content:space-between;font:13px Arial,sans-serif;color:#4d626c;border-bottom:1px solid #d6dad5}.heading{padding:24px 30px 19px;border-bottom:1px solid #d9ddd8}h1{font-size:28px;font-weight:400;line-height:1.25;margin:0 0 18px}dl{font:14px/1.7 Arial,sans-serif;margin:0}dl div{display:flex;gap:14px}dt{color:#69777c;width:36px;flex-shrink:0}dd{margin:0}#paper{height:390px;overflow:auto;padding:25px 30px 35px;line-height:1.8;font-size:18px;scrollbar-color:#a0b6b7 #f6f5f1}#body{white-space:pre-wrap;display:inline;overflow-wrap:anywhere}#cursor{color:#42797c;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.controls{display:flex;align-items:center;gap:20px;justify-content:center;padding-top:24px}button{font:14px Arial,sans-serif;border:1px solid #627c90;border-radius:5px;padding:12px 21px;background:#142334;color:#eff5fa;cursor:pointer;min-height:44px}button:hover{background:#243c50}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,#paper:focus-visible{outline:3px solid #4eaeb7;outline-offset:4px}#pause{min-width:104px}#status{font:14px/1.5 Arial,sans-serif;color:#aebdcd;text-align:center;min-width:220px}#next{border-color:#7dbbbf;color:#b9e6e5}footer{text-align:center;font:12px Arial,sans-serif;letter-spacing:.2em;color:#8294a9;padding:20px 20px 32px}#ending{text-align:center;padding:35px 0 8px}#ending[hidden]{display:none}.end-label{font:12px Arial,sans-serif;letter-spacing:.2em;color:#99b5c0}#ending h2{font-weight:400;font-size:28px}#restart{background:#abdce0;color:#142a35;border:0;font-weight:bold}nav{display:flex;justify-content:center;gap:28px;margin:25px 0}nav a{color:#c8e3e7;font-size:16px;text-underline-offset:5px}#countdown{font:14px Arial,sans-serif;color:#aebdcd}.text-button{background:transparent;border:0;text-decoration:underline;color:#becad6;padding:7px 12px}@media(max-width:800px){header{padding:22px 5%;align-items:start;gap:15px}.book{max-width:160px;font-size:14px;text-align:right}.stage{grid-template-columns:1fr 1fr;gap:18px}.portrait{margin-top:0;display:flex;gap:12px;align-items:center;transform:none!important}.portrait img{width:64px;height:72px}.portrait h2{font-size:21px;margin:0 0 5px}#don{grid-column:1;grid-row:1}#josie{grid-column:2;grid-row:1;flex-direction:row-reverse;text-align:right}.email{grid-column:1/-1;grid-row:2}main{padding-top:25px}.chapter{margin-bottom:20px}#paper{height:42vh;min-height:250px}.controls{flex-wrap:wrap;gap:12px}#status{order:3;flex-basis:100%;margin:0}#pause,#next{flex:1}nav{flex-wrap:wrap;gap:18px}.heading{padding:22px}#paper{padding:22px}.mailbar{padding:15px 22px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
