/* Edition 1.4: a letter to read, a city to walk, a memory to keep. */
.r-audio-button{position:relative}.r-audio-button:after{content:'';position:absolute;right:9px;top:10px;width:5px;height:5px;border-radius:50%;background:#c5bc90}.r-walk-enter{margin-left:auto!important;border-color:var(--line)!important}.r-walk-enter span{white-space:nowrap}.r-mixer .icon,.r-reader .icon{flex-shrink:0}
.modal.reader-modal{width:min(920px,100%);max-width:920px;height:min(820px,94dvh);max-height:94dvh;padding:0;overflow:hidden;background:#e7e1cc;border-color:#dcd2b457;border-radius:15px}.reader-modal>.modal-close{background:#19281ccf;color:#e9e3ce;top:18px;right:18px;width:40px;height:40px;border-color:#d0c5a355}.r-reader{height:100%;min-height:0;display:grid;grid-template:112px 53px minmax(0,1fr) auto / 1fr;background:radial-gradient(ellipse at 0 40%,#fffff54a,transparent 70%),#e7e1cc;color:#35412e;--reader-ink:#35412e;--reader-muted:#7c826b;--reader-line:#53633c30;--reader-paper:#e7e1cc}.r-reader-art{position:relative;background-size:cover;background-position:center 47%;isolation:isolate;display:flex;align-items:flex-end;padding:22px 35px;color:#efead8}.r-reader-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c1814d9,#0c181470),linear-gradient(transparent,#0c181475);z-index:-1}.r-reader-art>div{display:flex;flex-direction:column;gap:6px;max-width:80%}.r-reader-art .eyebrow{color:#c9c0a1;font-size:8px}.r-reader-art span+span{font:25px Cormorant,Georgia,serif}.r-reader-tools{display:flex;align-items:center;justify-content:space-between;margin:0 35px;border-bottom:1px solid var(--reader-line)}.r-book-title{display:flex;align-items:center;gap:9px;color:var(--reader-muted);font-size:10px}.r-reader-tools .row{gap:2px}.r-reader-tools button{display:grid;place-items:center;min-width:44px;min-height:44px;font-family:Georgia,serif;color:var(--reader-ink);font-size:16px;border-radius:7px}.r-reader-tools button:hover{background:#8b946a15}.r-reader-tools svg{width:18px}.r-reader-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7d876a55 transparent;touch-action:pan-y}.r-leaf{max-width:665px;margin:0 auto;padding:27px 40px 20px;animation:leaf-turn .34s ease both;transform-origin:0 50%}.r-reader[data-turn="-1"] .r-leaf{animation-name:leaf-back}.r-reader .eyebrow{color:var(--reader-muted)}.r-reader .r-reader-art .eyebrow{color:#c9c0a1}.r-leaf h2{font:38px/1.05 Cormorant,Georgia,serif;color:var(--reader-ink);margin:12px 0 20px;letter-spacing:-.015em}.r-leaf .narrative{font:calc(27px * var(--font-scale))/1.52 Cormorant,Georgia,serif;color:var(--reader-ink);min-height:0;margin:0;white-space:pre-line}.r-page-text.writing:after{content:'✒';display:inline-block;color:#776842;font-size:.7em;animation:quill-touch .33s ease-in-out infinite alternate;vertical-align:baseline;margin-left:5px}.r-ink-rule{display:flex;align-items:center;gap:14px;width:85px;color:#9d987f;font-size:18px;margin-top:27px;opacity:.6}.r-ink-rule i{display:block;height:1px;flex:1;background:currentColor}.r-reader-footer{padding:17px 35px 18px;background:var(--reader-paper);box-shadow:0 -13px 24px var(--reader-paper);z-index:2}.r-reader-progress{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.1em;color:var(--reader-muted);gap:10px}.r-reader-progress i{font-style:normal;opacity:.65}.r-page-track{height:2px;background:var(--reader-line);margin:11px 0 15px}.r-page-track>i{display:block;height:100%;background:#7a8762;transition:width .35s}.r-reader-actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.r-reader .btn{background:#304631;border-color:#304631;color:#f1ecda;min-height:48px;padding:12px 20px}.r-reader .btn.secondary{color:var(--reader-ink);background:transparent;border-color:var(--reader-line)}.r-reader-footer>small{display:block;text-align:center;color:var(--reader-muted);font-size:8px;margin-top:13px}.r-first-leaf{font:italic 19px Cormorant,Georgia,serif;color:var(--reader-muted)}.r-choices{margin:20px 0}.r-choices button{background:#6b7b4d08;color:var(--reader-ink);border-color:var(--reader-line);border-radius:7px;font-size:12px;line-height:1.55;padding:15px 17px;min-height:54px}.r-choices button.selected{background:#7b8c6420;border-color:#718854}.r-choices button:disabled{opacity:.75}.r-choices button.selected:disabled{opacity:1}.r-choice-result{border-top:1px solid var(--reader-line);padding-top:20px}.r-choice-result>.narrative{font-size:calc(23px * var(--font-scale));margin-top:10px}.r-night{background:#17221d;--reader-ink:#d0d5be;--reader-muted:#8e9b83;--reader-line:#acc49522;--reader-paper:#17221d}.r-night .btn{background:#c8bb91;color:#172419;border-color:#c8bb91}.r-night .btn.secondary{background:transparent;color:var(--reader-ink);border-color:var(--reader-line)}.r-night .r-ink-rule{color:#9b9b75}.r-night .r-choices button.selected{background:#87947322;border-color:#84996b}.r-reader-scroll:focus-visible{outline:1px solid #798960;outline-offset:-4px}
.r-walk{height:100dvh;min-height:480px;display:flex;flex-direction:column;background:#101b15;max-width:1100px;margin:auto;padding:0 max(18px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:hidden}.r-walk-top{display:flex;align-items:center;gap:16px;min-height:94px;padding-top:env(safe-area-inset-top)}.r-walk-top>div{flex:1;min-width:0}.r-walk-top .eyebrow{font-size:8px;color:#a1ad91}.r-walk-top h1{font:35px/1 Cormorant,Georgia,serif;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:7px}.r-walk-top>.icon-btn{flex-shrink:0;width:44px;height:44px}.r-walk-tabs{display:flex;gap:5px;padding:0 0 14px}.r-walk-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid transparent;border-radius:30px;color:#b5c0a4;font-size:11px;padding:10px 17px;flex:1}.r-walk-tabs button.active{background:#34482d;border-color:#a0b28433;color:#eee8cc}.r-walk-tabs button:last-child{border-color:var(--line)}.r-walk-visual{flex:1;min-height:120px;position:relative;border-radius:15px;overflow:hidden;border:1px solid #acb28e33;background:#19261c;isolation:isolate}.r-walk-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#131e18}.r-walk-caption{position:absolute;left:0;right:0;bottom:0;padding:44px 26px 22px;background:linear-gradient(transparent,#0b1714ed 60%);color:#f3ecd4}.r-walk-caption .eyebrow{font-size:8px;color:#bcb38c}.r-walk-caption p{font-size:12px;line-height:1.55;max-width:540px;margin:6px 0 0}.r-walk-visual .map-wrap{height:100%;position:absolute;inset:0}.r-walk-visual #map{height:100%;min-height:0}.r-walk-bottom{padding:0 2px 4px}.r-position-line{display:flex;gap:9px;align-items:center;min-height:49px;font-size:10px;color:#afbea2}.r-position-line>span:nth-child(2){flex:1;line-height:1.4}.r-position-line>button{font-size:10px;color:#d1c299;min-height:44px}.r-position-light{width:6px;height:6px;border-radius:50%;background:#b0986c;box-shadow:0 0 0 4px #b0986c13;flex-shrink:0}.r-position-light.ready{background:#a9c58b;box-shadow:0 0 0 4px #a9c58b16}.r-walk-bottom>.btn{width:100%;font-size:13px;min-height:54px}.r-walk-bottom>small{display:block;text-align:center;font-size:8px;color:#7f9578;margin:9px 0 3px}.r-walk-offline{background:#614d2b44;border:1px solid #bea47933;border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:10px;color:#ddcba4}.daylight .r-walk{background:#203126}.daylight .r-position-line{color:#e5eddb}.daylight .r-walk-tabs button{color:#e6efda}
.modal.mixer-modal{max-width:470px}.r-mixer{padding:43px 34px 27px}.r-mixer>h2{font:44px/.98 Cormorant,Georgia,serif;margin:18px 0 28px}.r-now-playing{border-block:1px solid var(--line);padding:18px 0;display:flex;align-items:center;gap:18px}.r-now-playing>div{display:flex;flex-direction:column;gap:5px}.r-now-playing div>span{font-size:9px;color:#90a382}.r-now-playing strong{font:24px Cormorant,Georgia,serif;color:#ddd9bf}.r-equalizer{height:27px;width:30px;display:flex;align-items:center;justify-content:space-between;color:#c6b67f}.r-equalizer i{width:3px;height:70%;background:currentColor;border-radius:3px;transform-origin:center;animation:music-bars 1.1s ease-in-out infinite alternate}.r-equalizer i:nth-child(2){animation-delay:-.5s;height:100%}.r-equalizer i:nth-child(3){animation-delay:-.8s;height:50%}.r-equalizer i:nth-child(4){animation-delay:-.3s;height:85%}.r-equalizer i:nth-child(5){animation-delay:-.7s;height:40%}.paused .r-equalizer i{animation:none;transform:scaleY(.25)}.r-audio-presets{display:flex;gap:7px;margin:21px 0 26px}.r-audio-presets button{flex:1;border:1px solid var(--line);border-radius:7px;min-height:46px;padding:9px 5px;color:#b8c1a4;font-size:10px}.r-audio-presets button.active{background:#a3af7b1f;border-color:#b7bb8966;color:#e3dab6}.r-mixer-slider{display:block;margin:24px 0}.r-mixer-slider>span{display:flex;justify-content:space-between;font-size:11px;color:#c5cbb4;margin-bottom:15px}.r-mixer-slider output{font-size:10px;color:#aabb92}.r-mixer-slider input{width:100%;accent-color:#c3b782;min-height:24px;cursor:pointer}.r-mixer-switches{display:flex;justify-content:space-between;gap:14px;margin:30px 0 40px}.r-mixer-switches .toggle{display:block;flex-shrink:0;margin:0 10px 12px;width:42px;height:24px;position:relative;overflow:visible}.r-mixer-switches .toggle span{position:absolute;top:34px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:#a9b59b}.r-mixer>.btn{width:100%;margin-top:13px}.r-mixer>p{color:#8c9e80;font-size:10px;text-align:center;line-height:1.6;margin:18px 0 0}
.modal.memory-modal{max-width:740px;background:#122119;border-color:#bbad7755;padding:0;overflow:auto}.r-reward{position:relative;overflow:hidden;text-align:center;padding:35px 45px 29px;isolation:isolate}.r-reward-rays{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 28%,#aaa0612b,transparent 52%),repeating-conic-gradient(from 20deg at 50% 30%,transparent 0deg 16deg,#a6aa6410 17deg 18deg,transparent 19deg 30deg);mask-image:linear-gradient(#000,transparent 75%)}.r-reward>.eyebrow{font-size:9px;color:#c6be93}.r-reward-object{height:230px;position:relative;display:grid;place-items:center;max-width:340px;margin:15px auto 0}.r-reward-object>img{width:180px;height:180px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 20px 27px #0009);animation:memory-arrives 1.1s cubic-bezier(.18,.7,.2,1) both}.r-reward-ring{position:absolute;width:215px;height:215px;border:1px solid #b4b08036;border-radius:50%;animation:seal-arrives 1.3s ease both}.r-reward-ring.second{width:190px;height:190px;border-style:dashed;border-color:#b4b08020;animation-delay:.13s}.r-reward-number{position:absolute;bottom:5px;font-size:7px;letter-spacing:.18em;color:#8d9b79;z-index:3}.r-reward-copy{position:relative;animation:memory-copy .7s .3s ease both}.r-reward-copy>.eyebrow{font-size:8px;color:#9da983}.r-reward-copy h2{font:47px/1 Cormorant,Georgia,serif;color:#e5dbb8;margin:10px 0 18px}.r-reward-copy>p{font:21px/1.5 Cormorant,Georgia,serif;color:#b7c2a5;max-width:530px;margin:0 auto}.r-reward-stats{display:flex;justify-content:center;gap:25px;margin:23px 0;border-block:1px solid var(--line);padding:15px 0}.r-reward-stats>span{font:27px Cormorant,Georgia,serif;color:#d2c597;display:flex;flex-direction:column;gap:5px}.r-reward-stats small{font:8px Manrope,sans-serif;color:#93a582}.r-chapter-seal{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid #a6ab7055;background:#b9b7800b;border-radius:8px;padding:13px 18px;margin-bottom:21px}.r-chapter-seal>span{font:29px Cormorant,Georgia,serif;display:grid;place-items:center;border:1px solid #c6b78475;border-radius:50%;width:44px;height:44px;color:#d0bb80;transform:rotate(-8deg)}.r-chapter-seal>div{flex:1}.r-chapter-seal strong{display:block;font-size:11px;color:#ccc7a5}.r-chapter-seal small{font-size:9px;color:#94a17d;display:block;margin-top:5px}.r-chapter-seal>.icon{color:#b9b980}.r-reward-actions{display:flex;gap:10px}.r-reward-actions>.btn{flex:1;padding-inline:15px;font-size:11px}.r-reward-saved{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#809773;margin-top:20px}.r-reward-saved svg{width:14px}
@keyframes leaf-turn{from{opacity:0;transform:translateX(20px) rotateY(-7deg)}to{opacity:1;transform:none}}@keyframes leaf-back{from{opacity:0;transform:translateX(-20px) rotateY(7deg)}to{opacity:1;transform:none}}@keyframes quill-touch{from{transform:translate(0,1px) rotate(-12deg)}to{transform:translate(2px,-1px) rotate(1deg)}}@keyframes music-bars{from{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes memory-arrives{from{opacity:0;transform:translateY(25px) scale(.83);filter:blur(9px)}to{opacity:1;transform:none;filter:drop-shadow(0 20px 27px #0009)}}@keyframes seal-arrives{from{opacity:0;transform:scale(.8) rotate(-20deg)}to{opacity:1;transform:none}}@keyframes memory-copy{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:761px){.modal.reader-modal{display:block}.r-reader{grid-template-columns:230px 1fr;grid-template-rows:60px minmax(0,1fr) auto}.r-reader-art{grid-column:1;grid-row:1/4;padding:30px 25px;background-position:50% center}.r-reader-art>div{max-width:100%}.r-reader-art:before{background:linear-gradient(180deg,#14221930,#0c1a14e6)}.r-reader-art span+span{font-size:33px;line-height:1.07}.r-reader-tools{grid-column:2;padding-right:45px;margin-inline:30px}.r-reader-scroll{grid-column:2}.r-reader-footer{grid-column:2;padding-inline:30px}.r-leaf{padding:30px}.r-walk{padding-inline:45px}.r-walk-top{min-height:105px}.r-walk-visual{max-height:none}.r-walk-bottom{display:grid;grid-template-columns:1fr 280px;gap:0 25px;padding-top:8px}.r-walk-bottom>.btn{grid-column:2;grid-row:1/3}.r-walk-bottom>small{text-align:left}.r-walk-tabs{max-width:440px}.r-walk-caption{padding-top:60px}}
@media(max-width:760px){.modal-backdrop:has(.reader-modal){padding:0}.modal.reader-modal{width:100%;height:100dvh;max-height:100dvh;border:none;border-radius:0}.reader-modal>.modal-close{top:max(17px,env(safe-area-inset-top));right:17px}.r-reader{grid-template-rows:calc(94px + env(safe-area-inset-top)) 49px minmax(0,1fr) auto}.r-reader-art{padding:20px 23px}.r-reader-art span+span{font-size:23px}.r-reader-tools{margin-inline:22px}.r-leaf{padding:23px 24px 18px}.r-leaf h2{font-size:32px;margin:11px 0 19px}.r-leaf .narrative{font-size:calc(23px * var(--font-scale));line-height:1.5}.r-reader-footer{padding:12px 22px max(13px,env(safe-area-inset-bottom))}.r-reader-footer>small{font-size:7px;letter-spacing:0;margin-top:10px}.r-reader-progress{font-size:7px;letter-spacing:.05em}.r-reader .btn{font-size:11px;padding:12px 17px;min-height:46px}.r-ink-rule{margin-top:20px}.r-choice-result>.narrative{font-size:calc(21px * var(--font-scale))}.r-walk-enter{padding-inline:12px!important}.r-walk-enter span{font-size:10px}.r-walk-top{min-height:88px;gap:11px}.r-walk-top h1{font-size:29px}.r-walk-caption{padding:30px 18px 17px}.r-walk-caption p{font-size:11px}.r-walk-tabs button{padding-inline:10px;font-size:10px}.r-walk-bottom>.btn{font-size:12px}.r-walk{min-height:420px}.r-mixer{padding:43px 25px 25px}.r-mixer>h2{font-size:41px}.modal.memory-modal{max-height:94dvh}.r-reward{padding:38px 24px 24px}.r-reward-object{height:205px;margin-top:12px}.r-reward-ring{width:190px;height:190px}.r-reward-ring.second{width:167px;height:167px}.r-reward-object>img{width:160px;height:160px}.r-reward-copy h2{font-size:37px}.r-reward-copy>p{font-size:20px}.r-reward-actions{flex-direction:column}.r-reward-actions>.btn{min-height:48px}.r-reward-stats{gap:22px;margin-block:19px}.r-reward-saved{margin-top:16px}.r-position-line{font-size:9px}.r-audio-button{width:40px!important;height:40px!important}}
@media(max-height:650px) and (max-width:760px){.r-reader{grid-template-rows:70px 45px minmax(0,1fr) auto}.r-reader-art{padding:13px 23px}.r-reader-art .eyebrow{display:none}.r-leaf{padding-top:15px}.r-leaf h2{font-size:27px;margin:8px 0 12px}.r-reader-footer>small{display:none}.r-walk-top{min-height:73px}.r-walk-tabs{padding-bottom:9px}.r-walk-caption .eyebrow{display:none}.r-reward-object{height:160px}.r-reward-object>img{width:125px;height:125px}.r-reward-ring{height:145px;width:145px}.r-reward-ring.second{height:125px;width:125px}}
.reduce-motion .r-leaf,.reduce-motion .r-page-text.writing:after,.reduce-motion .r-equalizer i,.reduce-motion .r-reward-object>img,.reduce-motion .r-reward-ring,.reduce-motion .r-reward-copy{animation:none!important}.reduce-motion .r-page-track>i{transition:none}
@media(prefers-reduced-motion:reduce){.r-leaf,.r-page-text.writing:after,.r-equalizer i,.r-reward-object>img,.r-reward-ring,.r-reward-copy{animation:none!important}.r-page-track>i{transition:none}}
