:root{--purple:#462678;--deep:#211638;--gold:#fdc500;--paper:#f8f5ef;--warm:#e5d6c7;--ink:#292330;--line:#d8d0c4;--pad:clamp(24px,6vw,96px);--serif:'Lora',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}em{font-weight:400}p{line-height:1.75}.skip{position:fixed;left:20px;top:-100px;z-index:200;background:var(--gold);padding:12px}.skip:focus{top:12px}.topbar{height:68px;position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad);color:white;border-bottom:1px solid #ffffff30}.topbar a{text-decoration:none}.wordmark{font-family:var(--serif);font-size:20px}.wordmark span{font-family:var(--sans);font-size:11px;letter-spacing:.08em;opacity:.75}.index-link{font-size:12px}.index-link span{font-size:18px;margin-left:10px}.cover{min-height:880px;min-height:100svh;position:relative;background:var(--purple);color:white;display:grid;grid-template-columns:1.05fr 1fr;padding:112px var(--pad) 90px;gap:6vw;align-items:center}.cover-copy{position:relative;z-index:1}.logo{width:96px;height:96px;object-fit:contain;margin:0 0 28px -10px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600;line-height:1.6;margin-bottom:22px}.cover .eyebrow{color:#e5d6ff}.cover h1{font-size:clamp(64px,7.6vw,118px);line-height:.98;margin:0 0 30px}.cover h1 em{color:var(--gold)}.cover-intro{font-size:16px;line-height:1.7;margin-bottom:30px;color:#f3edf8}.button{display:inline-flex;gap:30px;align-items:center;padding:16px 24px;font-size:12px;font-weight:600;text-decoration:none;border-radius:2px}.yellow{background:var(--gold);color:var(--deep)}.button:hover{background:#ffe16c}.cover-photo{align-self:center;position:relative;transform:rotate(3deg);padding:12px 12px 0;background:var(--paper);color:var(--deep);box-shadow:20px 25px 0 #21163840;max-width:470px;margin:35px 0}.cover-photo img{aspect-ratio:3/4;width:100%;height:auto;object-position:center 42%}.cover-photo figcaption{display:flex;align-items:center;justify-content:space-between;padding:18px 5px 20px;font-family:var(--serif);font-style:italic;font-size:24px}.cover-photo figcaption span{font-family:var(--sans);font-size:9px;line-height:1.5;max-width:140px;font-style:normal}.cover-edition{position:absolute;bottom:26px;left:var(--pad);font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#e0d4ed}.paper{background:var(--paper);background-image:linear-gradient(90deg,#21163805,transparent 4%)}.section-label{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#766d7c}.introduction{padding:70px var(--pad) 90px}.intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;padding-top:85px}.intro-grid h2,.index-heading h2{font-size:clamp(42px,5vw,76px);line-height:1.13;color:var(--purple)}.intro-text{max-width:640px}.intro-text p{font-size:16px;margin-bottom:24px}.intro-end{text-align:center;margin:80px auto 10px}.thread{display:block;margin:auto auto 28px;width:1px;height:80px;background:var(--purple)}.intro-end p{font-family:var(--serif);font-size:clamp(25px,3vw,42px);line-height:1.4}.intro-end em{color:var(--purple)}.text-link{text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:7px;display:inline-flex;gap:30px}.boot-index{padding:45px var(--pad) 100px;background-color:#ece9e6}.index-heading{padding:60px 0 45px}.index-heading h2{margin-bottom:22px}.index-heading>p:last-child{font-size:14px;color:#645c6d}.index-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}.boot-map{position:relative;margin-bottom:25px}.boot-map>img{width:100%;height:auto;aspect-ratio:4/5;object-position:50% 65%;border-radius:48% 48% 2px 2px}.boot-map figcaption{padding-top:12px;text-align:center;font-size:11px;font-family:var(--serif);font-style:italic;color:#645c6d}.hotspot{position:absolute;width:44px;height:44px;display:grid;place-items:center;background:var(--gold);color:var(--deep);border:3px solid var(--paper);border-radius:50%;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 0 0 5px #46267830;transform:translate(-50%,-50%);transition:scale .2s}.hotspot:hover{scale:1.13}.h1{left:31%;top:64%}.h2{left:43%;top:49%}.h3{left:25%;top:30%}.h4{left:58%;top:79%}.h5{left:15%;top:43%;background:var(--purple);color:white}.h6{left:64%;top:64%}.chapter-list a{display:flex;align-items:center;gap:25px;padding:23px 0;border-top:1px solid #c7bfcd;text-decoration:none}.chapter-list a:last-child{border-bottom:1px solid #c7bfcd}.chapter-list a>span{font-size:11px;color:#70617d}.chapter-list a>div{font-family:var(--serif);font-size:29px;transition:transform .2s;color:var(--purple)}.chapter-list small{display:block;font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-top:6px;color:#6a6073}.chapter-list b{margin-left:auto;font-size:20px;font-weight:400;color:var(--purple)}.chapter-list a:hover>div{transform:translateX(7px)}.chapter{position:relative;scroll-margin-top:0}.chapter-opener{padding:65px var(--pad) 60px;display:grid;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:center;min-height:670px;background:var(--purple);color:white;overflow:hidden}.chapter:nth-child(even) .chapter-opener{background:var(--deep)}.chapter-title{position:relative}.chapter-number{font-family:var(--serif);color:#ffffff20;font-size:145px;line-height:1;position:absolute;top:-55px;left:-10px;pointer-events:none}.chapter-title .eyebrow{position:relative;color:var(--gold);padding-top:40px;margin-bottom:28px}.chapter-title h2{position:relative;font-size:clamp(48px,5.5vw,84px);line-height:1.12;margin-bottom:26px}.chapter-title h2 em{color:var(--gold)}.chapter-name{font-size:13px;border-top:1px solid #ffffff30;padding-top:18px;display:inline-block;min-width:160px}.chapter-photo{position:relative;max-width:390px;transform:rotate(2deg);padding:8px;background:var(--paper);box-shadow:15px 18px 0 #00000020}.chapter:nth-child(even) .chapter-photo{transform:rotate(-2deg)}.chapter-photo img{width:100%;height:400px;object-fit:cover}.chapter-photo figcaption{color:var(--purple);font-family:var(--serif);font-style:italic;font-size:13px;text-align:center;padding:14px 4px 8px}.chapter-body{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw;padding:80px var(--pad) 90px;background:var(--paper)}.chapter-body blockquote{align-self:start;position:sticky;top:70px;font-family:var(--serif);font-size:clamp(25px,2.8vw,40px);line-height:1.4;letter-spacing:-.025em;color:var(--purple);margin:0;border-top:3px solid var(--gold);padding-top:32px}.chapter-body blockquote::before{content:'“';display:block;font-size:70px;line-height:.7;color:var(--purple);margin-bottom:20px}.prose p{font-size:17px;line-height:1.85;margin-bottom:28px}.prose p:first-child{font-family:var(--serif);font-size:23px;line-height:1.65;color:var(--purple)}.chapter-bottom{padding:0 var(--pad) 55px;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.chapter-bottom a:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.12em;text-decoration:none}.chapter-bottom a:last-child{font-size:12px;display:flex;align-items:center;gap:20px;text-decoration:none}.chapter-bottom a:last-child span{display:grid;place-items:center;border:1px solid var(--purple);height:42px;width:42px;border-radius:50%;font-size:18px}.closing{padding:60px var(--pad) 150px;background:var(--purple);color:white;text-align:center}.closing .section-label{color:#d0bfdf;border-color:#ffffff30}.closing-quote{font-family:var(--serif);font-size:clamp(21px,2.5vw,34px);font-style:italic;max-width:850px;margin:85px auto 60px;line-height:1.65}.closing h2{font-size:clamp(62px,11vw,170px);line-height:1.08;margin-bottom:32px}.closing h2 em{color:var(--gold)}.signature{font-family:var(--serif);font-style:italic;font-size:40px;margin-bottom:45px;color:var(--gold)}.closing footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff30;margin-top:90px;padding-top:30px;text-align:right;gap:25px}.closing footer img{object-fit:contain}.closing footer p{font-size:11px;opacity:.8;margin:0}.reader{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--deep);color:white;border:1px solid #ffffff30;box-shadow:0 8px 32px #21163835;z-index:20;display:flex;align-items:center;height:66px;width:340px;max-width:calc(100% - 32px);border-radius:5px;overflow:hidden}.reader>a{text-decoration:none}.reader>a:first-child,.reader>a:nth-child(3){width:52px;height:100%;display:grid;place-items:center;font-size:23px;flex-shrink:0}.reader>a:first-child:hover,.reader>a:nth-child(3):hover{background:#ffffff15}.reader-index{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;height:100%;font-size:12px;gap:5px}.reader-index small{font-size:8px;color:#d9c5ef;text-transform:uppercase;letter-spacing:.1em}.progress-track{position:absolute;bottom:0;height:3px;width:100%;background:#ffffff15;pointer-events:none}.progress-track span{display:block;background:var(--gold);height:100%;width:0;transition:width .2s}.noscript{padding:30px;background:var(--gold);position:fixed;bottom:0;z-index:30;width:100%;margin:0}.chapter-title,.chapter-photo{animation:arrive linear both;animation-timeline:view();animation-range:entry 0% entry 70%}@keyframes arrive{from{opacity:.3;translate:0 28px}to{opacity:1;translate:0 0}}
@media(min-width:1500px){.cover,.introduction,.boot-index,.chapter-opener,.chapter-body,.chapter-bottom,.closing{padding-left:max(var(--pad),calc((100vw - 1340px)/2));padding-right:max(var(--pad),calc((100vw - 1340px)/2))}}
@media(max-width:760px){html{scroll-padding-top:20px}.topbar{height:58px}.wordmark{font-size:17px}.wordmark span{font-size:9px}.index-link{font-size:10px}.index-link span{margin-left:3px}.cover{grid-template-columns:1fr;padding-top:86px;padding-bottom:62px;gap:0;min-height:auto}.logo{width:76px;height:76px;margin:0 0 24px -6px}.cover h1{font-size:clamp(58px,15vw,88px);line-height:1.02;margin-bottom:24px}.cover .eyebrow{font-size:9px}.cover-intro{font-size:15px;margin-bottom:24px}.cover-photo{width:76%;max-width:350px;margin:40px 4% 40px auto;box-shadow:12px 14px 0 #21163840;padding:8px 8px 0}.cover-photo img{aspect-ratio:4/4.3;object-position:50% 52%}.cover-photo figcaption{padding:14px 4px;font-size:24px}.cover-photo figcaption span{font-size:8px;max-width:115px}.cover-edition{font-size:8px;bottom:24px}.introduction{padding-top:38px;padding-bottom:65px}.intro-grid{grid-template-columns:1fr;gap:16px;padding-top:45px}.intro-grid h2,.index-heading h2{font-size:46px;line-height:1.15}.intro-text p{font-size:16px;line-height:1.8;margin-bottom:24px}.intro-end{margin-top:40px}.intro-end p{font-size:26px}.thread{height:48px}.boot-index{padding-top:32px;padding-bottom:65px}.index-heading{padding:40px 0 25px}.index-heading>p:last-child{font-size:13px}.index-grid{grid-template-columns:1fr;gap:5px}.boot-map{margin:0 auto 28px;width:100%;max-width:430px}.boot-map>img{aspect-ratio:1/1.17}.hotspot{width:44px;height:44px}.h1{top:64%}.h4{top:79%}.chapter-list a{padding:19px 0}.chapter-list a>div{font-size:27px}.chapter-opener{grid-template-columns:1fr;gap:16px;padding-top:50px;padding-bottom:45px;min-height:auto}.chapter-number{font-size:130px;top:-25px}.chapter-title .eyebrow{padding-top:40px;margin-bottom:28px;font-size:10px}.chapter-title h2{font-size:clamp(42px,11.7vw,65px);line-height:1.17;margin-bottom:20px}.chapter-name{font-size:12px}.chapter-photo{width:77%;margin:15px 4% 10px auto;max-width:340px}.chapter-photo img{height:255px}.chapter-photo figcaption{font-size:12px}.chapter-body{grid-template-columns:1fr;gap:40px;padding-top:48px;padding-bottom:26px}.chapter-body blockquote{position:static;font-size:27px;line-height:1.45;padding-top:20px}.chapter-body blockquote::before{font-size:58px;margin-bottom:14px}.prose p{font-size:16px;line-height:1.85;margin-bottom:24px}.prose p:first-child{font-size:21px;line-height:1.65}.chapter-bottom{padding-bottom:42px;gap:15px}.chapter-bottom a:first-child{font-size:8px}.chapter-bottom a:last-child{font-size:11px;gap:12px}.closing{padding-top:40px;padding-bottom:130px}.closing-quote{margin:55px auto 40px;font-size:22px}.closing h2{font-size:clamp(56px,15vw,95px);line-height:1.13}.closing footer{margin-top:60px}.closing footer img{width:80px;height:80px}.closing footer p{font-size:10px}.reader{height:62px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.topbar,.reader,.chapter-bottom,.index-link,.button{display:none}.cover,.chapter-opener,.closing{print-color-adjust:exact}.chapter{break-before:page}.chapter-body{display:block}.chapter-body blockquote{position:static;margin-bottom:30px}.cover{min-height:auto}.closing{padding-bottom:60px}}
.boot-map .h1{left:40%;top:58%}.boot-map .h2{left:16%;top:56%}.boot-map .h4{left:53%;top:71%}.boot-map .h6{left:76%;top:62%}

/* The chapter quotation stays large and purple; all body paragraphs share one style. */
.prose p,.prose p:first-child{font-family:var(--sans);font-size:17px;line-height:1.85;font-weight:400;color:var(--ink)}
.detail-window{position:relative;overflow:hidden;width:100%;background:var(--deep)}
.chapter-photo .detail-window img{position:absolute;max-width:none;object-fit:fill}
.button{font-family:var(--sans);border:0;cursor:pointer;line-height:1.4}
button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.start-action{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.start-action small{font-size:10px;line-height:1.5;color:#e5d6ff;max-width:270px}
.before-reading{overflow:hidden;overscroll-behavior:none}
.before-reading .cover{height:100svh;min-height:0;padding-top:88px;padding-bottom:42px;overflow:hidden}
.before-reading .cover h1{font-size:clamp(44px,min(7vw,8.5svh),98px);margin-bottom:20px}
.before-reading .logo{width:min(72px,8svh);height:min(72px,8svh);margin-bottom:14px}
.before-reading .cover .eyebrow{margin-bottom:16px}
.before-reading .cover-intro{margin-bottom:20px}
.before-reading .cover-photo{margin:15px 0;max-width:min(470px,48svh)}
.before-reading .cover-photo img{max-height:65svh}
.before-reading .reader,.before-reading .index-link{display:none}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.music-control{position:static;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 76px;align-self:stretch;padding:0 8px;border:0;border-left:1px solid #ffffff30;border-radius:0;background:transparent;color:white;font-family:var(--sans);font-size:9px;cursor:pointer}
.music-control:hover{background:#ffffff15}
.music-control:focus-visible{outline-offset:-5px}
.music-icon{color:var(--gold);font-size:19px}
.music-control.is-playing .music-icon{opacity:1}
.music-control:not(.is-playing) .music-icon{opacity:.5}
@media(max-width:760px){
  .prose p,.prose p:first-child{font-size:16px;line-height:1.85}
  .before-reading .cover{display:flex;align-items:center;padding-top:76px;padding-bottom:44px}
  .before-reading .cover-copy{width:100%;z-index:2}
  .before-reading .logo{width:60px;height:60px;margin-bottom:20px}
  .before-reading .cover .eyebrow{font-size:8px;margin-bottom:24px;max-width:62%}
  .before-reading .cover h1{width:66%;font-size:clamp(36px,10.6vw,68px);line-height:1.09;margin-bottom:26px}
  .before-reading .cover-intro{font-size:14px;margin-bottom:22px}
  .before-reading .cover-photo{position:absolute;right:5%;top:32%;width:32%;max-width:230px;margin:0;z-index:1;padding:6px 6px 0;box-shadow:9px 11px 0 #21163840}
  .before-reading .cover-photo img{aspect-ratio:3/4;object-position:center 44%}
  .before-reading .cover-photo figcaption{font-size:16px;padding:9px 2px}
  .before-reading .cover-photo figcaption span{display:none}
  .before-reading .cover-edition{font-size:8px;bottom:18px}
  .start-action small{font-size:9px}
}
@media(max-height:680px) and (max-width:760px){
  .before-reading .logo{width:46px;height:46px;margin-bottom:12px}
  .before-reading .cover .eyebrow{margin-bottom:16px}
  .before-reading .cover h1{font-size:clamp(32px,10.5vw,44px);margin-bottom:16px}
  .before-reading .cover-intro{font-size:12px;line-height:1.6;margin-bottom:16px}
  .before-reading .cover-photo{top:30%;right:5%;width:30%}
  .before-reading .button{padding:13px 20px}
}
@media(max-height:560px) and (min-width:761px){
  .before-reading .cover{padding-top:70px;padding-bottom:25px}
  .before-reading .cover h1{font-size:clamp(30px,8.5svh,44px);margin-bottom:12px}
  .before-reading .logo{width:28px;height:28px;margin-bottom:8px}
  .before-reading .cover .eyebrow{font-size:8px;margin-bottom:8px}
  .before-reading .cover-intro{font-size:12px;margin-bottom:10px;max-width:300px}
  .before-reading .cover-intro br{display:none}
  .before-reading .button{padding:12px 20px}
}
@media print{.music-control,.start-action{display:none}}
.closing footer{justify-content:flex-end}
.intro-grid{padding-top:30px}
.index-heading{padding-top:25px}
@media(max-width:760px){.intro-grid{padding-top:10px}.index-heading{padding-top:10px}}
.reader{width:420px;max-width:calc(100% - 24px)}
.reader #previous,.reader #next{width:44px}
.reader-index{min-width:0;padding:0 4px}
.reader-index>span{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* The entry screen is locked on every viewport, including desktop root scrolling. */
html[data-reading="closed"],html[data-reading="closed"] body{height:100%;overflow:hidden;overscroll-behavior:none}
html[data-reading="closed"] #racconto,html[data-reading="closed"] .reader{display:none!important}
