:root{color-scheme:light;--paper:#f4efe5;--ink:#35422f;--clay:#965d46;--accent:#647350;--moon-progress:0;--moon-alpha:1;--house-alpha:0;--copy-alpha:1;--entry:0;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;overflow-x:hidden}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:2px solid var(--clay);outline-offset:4px}button:disabled{opacity:.5}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.journey-header{position:fixed;top:0;left:0;right:0;z-index:20;min-height:68px;padding:calc(13px + env(safe-area-inset-top)) 19px 10px;display:flex;gap:16px;align-items:center;justify-content:space-between;background:#f4efe5ed;border-bottom:1px solid #35422f15}.journey-header>a{width:min(54vw,225px);display:flex;align-items:center;min-height:40px}.journey-header img{width:100%;height:auto;display:block}.journey-header button{border:0;background:none;padding:6px 0;min-height:44px;display:flex;align-items:center;gap:6px;font-size:10px;white-space:nowrap}.journey-header button svg{width:17px}
.scroll-story{height:auto}.js .scroll-story{height:540svh}.journey-stage{position:relative;height:calc(100svh - 1px);overflow:hidden;isolation:isolate;background:var(--paper);outline:none}.js .journey-stage{position:sticky;top:0}
.house-scene{position:absolute;z-index:1;top:calc(66px + env(safe-area-inset-top));left:0;right:0;height:calc(57svh - 66px);opacity:var(--house-alpha);pointer-events:none;overflow:hidden}.house-scene canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;touch-action:pan-y}.house-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;font:italic 18px/1.5 Georgia,serif;color:#65705b;background:var(--paper)}.house-loading img{width:52px;height:60px;object-fit:contain}.house-loading span{max-width:26ch}.house-scene canvas{visibility:hidden}.scene-ready .house-scene canvas{visibility:visible}.scene-ready .house-loading{display:none}.scene-failed .house-scene canvas{display:none}
.moon-scene{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--moon-alpha);overflow:hidden;background:linear-gradient(155deg,#102934,#244659 60%,#435e50)}.moon-scene:after{content:'';position:absolute;inset:0;background:url('/assets/personal/field-guide-paper-v1.png') center/cover;opacity:.1;mix-blend-mode:screen;pointer-events:none}.moon{position:absolute;top:16svh;left:50%;width:65vw;max-width:330px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fffdf5a0,transparent 9%),radial-gradient(circle at 62% 66%,#a78d622e,transparent 16%),radial-gradient(circle at 42% 48%,#fff8e9,#e9d8b6 76%,#d6bd8e);box-shadow:0 0 70px #f6f1e62e,inset -20px -16px 40px #78603d21;transform:translate(-50%,calc(var(--moon-progress) * -140px))}.moon:after{content:'';position:absolute;inset:0;border-radius:inherit;background:url('/assets/personal/field-guide-paper-v1.png') center/170%;opacity:.2;mix-blend-mode:multiply}.star{position:absolute;color:#e1a16e;z-index:3;transform:translateY(calc(var(--moon-progress) * -80px))}.star-one{top:20%;left:8%;font-size:22px}.star-two{top:36%;right:9%;font-size:15px;color:#dbe2df}.star-three{top:12%;right:25%;font-size:34px;color:#dbe2df}.hill{position:absolute;width:114%;left:-7%;bottom:0;transform:translateY(calc(var(--moon-progress) * 230px));clip-path:polygon(0 55%,13% 30%,26% 65%,38% 25%,55% 62%,74% 26%,87% 58%,100% 31%,100% 100%,0 100%)}.hill-far{height:49%;background:#78908b}.hill-mid{height:37%;background:#64714d;transform:translateY(calc(var(--moon-progress) * 290px)) rotate(-4deg)}.hill-near{height:24%;background:#263d34;transform:translateY(calc(var(--moon-progress) * 360px))}.through-line{position:absolute;inset:0;width:100%;height:100%;z-index:4;stroke:#d8946d;opacity:.7}.through-line path{stroke-width:1.7;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--moon-progress))}
.welcome-copy{position:absolute;z-index:4;top:43svh;left:22px;right:22px;text-align:center;background:#f4efe5;padding:26px 18px 23px;clip-path:polygon(0 3%,11% 0,25% 2%,39% 0,55% 2%,72% 0,87% 2%,100% 0,99% 98%,86% 100%,68% 98%,53% 100%,36% 98%,20% 100%,1% 98%);opacity:var(--copy-alpha);transform:translateY(calc(var(--moon-progress) * -55px))}.eyebrow{font:10px/1.45 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;color:var(--clay)}h1,h2{font:normal 48px/.95 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;margin:0 0 14px}h1 em,h2 em{font-weight:normal;color:#647350}.welcome-copy>p:not(.eyebrow){font-size:12px;line-height:1.65;margin:0 0 17px}.welcome-copy button{border:0;background:none;display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:11px;padding:0}.welcome-copy button svg{width:18px;height:24px}
.room-copy{position:absolute;z-index:5;left:24px;right:24px;top:56svh;bottom:calc(94px + env(safe-area-inset-bottom));padding-top:12px;border-top:1px solid #35422f33;background:var(--paper)}.chapter-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.chapter-line .eyebrow{margin:0;font-size:9px}.chapter-line>span:last-child{font:11px Georgia,serif;white-space:nowrap;color:var(--accent)}.room-copy h2{font-size:50px;line-height:.96;margin:0 0 10px}.room-copy p:not(.eyebrow){font:13px/1.55 Arial,sans-serif;margin:0 0 12px;max-width:36ch}.room-copy .room-categories{font-size:10px!important;letter-spacing:.015em;color:#727a68;margin-bottom:13px!important}.enter-room{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:10px 16px;text-decoration:none;background:var(--accent);color:var(--paper);font:20px 'Instrument Serif',Georgia,serif}.enter-room svg{width:21px}.scroll-hint{display:flex;align-items:center;justify-content:center;gap:10px;min-height:37px;margin-top:10px;font-size:10px;color:#65705b;text-align:center}.scroll-hint svg{width:15px;height:17px}.entry-ready .scroll-hint{color:var(--clay);font-weight:600}.small-link{display:block;width:max-content;max-width:100%;border:0;border-bottom:1px solid #35422f77;background:transparent;padding:3px 0;min-height:30px;margin:4px auto 0;font-size:10px}.entry-progress{position:absolute;bottom:calc(87px + env(safe-area-inset-bottom));left:0;right:0;height:3px;background:transparent;z-index:20}.entry-progress span{display:block;width:calc(var(--entry) * 100%);height:100%;background:#a16b4e;transition:width .08s linear}
.room-dock{position:fixed;z-index:25;inset:auto 0 0;padding:9px 12px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f4efe5f7;border-top:1px solid #35422f33;backdrop-filter:blur(10px)}.room-dock a{display:flex;flex-direction:column;align-items:center;text-decoration:none;justify-content:center;padding:5px 2px;gap:4px;border-right:1px solid #35422f22;min-height:64px}.room-dock a:last-child{border:0}.room-dock a>span{font:9px Arial;letter-spacing:.1em;color:#90775e}.room-dock strong{font:22px/.95 'Instrument Serif',Georgia,serif;font-weight:normal}.room-dock small{font-size:8px;white-space:nowrap;color:#65705b}.room-dock a[aria-current=true]{background:#e5e6d9}.room-dock a:hover{background:#e5e6d9}
dialog{position:fixed;inset:0;width:min(92vw,440px);max-height:calc(100svh - 35px);overflow:auto;border:1px solid #35422f55;margin:auto;padding:35px 24px 25px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px #142a2c33}dialog::backdrop{background:#152d36bb;backdrop-filter:blur(5px)}.picker-close{position:absolute;right:9px;top:7px;width:44px;height:44px;border:0;background:none;font:30px Georgia}dialog h2{font-size:46px}dialog>p:not(.eyebrow){font-size:12px;line-height:1.6;margin:0 0 16px}.picker-options{display:grid;border-top:1px solid #35422f33}.picker-options a{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;border:0;border-bottom:1px solid #35422f33;padding:15px 0;background:none;text-align:left;min-height:62px}.picker-options a span{font-size:10px;color:#a06d53}.picker-options a strong{font:23px 'Instrument Serif',Georgia,serif;font-weight:normal}.picker-options a small{font-size:10px}.picker-options a:hover{background:#e5e6d9}dialog .small-link{margin-top:18px;font-size:11px}
.no-js-rooms{padding:24px 22px 130px}.no-js-rooms h2{font-size:36px}.no-js-rooms a{display:block;padding:16px 0;border-bottom:1px solid #35422f33}.js .no-js-rooms{display:none}.leaving .journey-stage{opacity:.5;transition:opacity .25s}
@media(min-width:601px){.welcome-copy{max-width:390px;left:50%;right:auto;transform:translate(-50%,calc(var(--moon-progress) * -55px));width:90%}.room-copy{left:calc(50% - 190px);right:calc(50% - 190px)}.room-dock{padding-left:calc((100vw - 440px)/2);padding-right:calc((100vw - 440px)/2)}}
@media(max-height:740px){.welcome-copy{top:37svh;padding-top:22px;padding-bottom:17px}.welcome-copy h1{font-size:43px}.welcome-copy>p:not(.eyebrow){font-size:11px;margin-bottom:8px}.house-scene{height:calc(52svh - 66px)}.room-copy{top:51svh;padding-top:8px}.room-copy h2{font-size:43px;margin-bottom:7px}.room-copy p:not(.eyebrow){font-size:12px;margin-bottom:9px}.room-copy .room-categories{margin-bottom:8px!important}.scroll-hint{margin-top:6px;min-height:30px}.chapter-line{margin-bottom:7px}}
@media(max-height:610px){.moon{top:13svh;width:40vw}.welcome-copy{top:30svh;padding:15px}.welcome-copy .eyebrow{margin-bottom:6px}.welcome-copy h1{font-size:34px;margin-bottom:8px}.welcome-copy>p:not(.eyebrow){display:none}.room-copy{top:45svh}.house-scene{height:calc(46svh - 66px)}.room-copy h2{font-size:35px}.room-copy p:not(.eyebrow){font-size:11px;margin-bottom:6px}.room-copy .room-categories{display:none}.enter-room{min-height:42px;padding:7px 12px;font-size:18px}.room-copy .scroll-hint{margin-top:1px;font-size:9px}.room-dock{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}.room-dock a{min-height:53px}.room-copy{bottom:75px}.entry-progress{bottom:70px}.small-link{min-height:24px;margin-top:0}}
@media(prefers-reduced-motion:reduce){.moon,.hill,.star,.welcome-copy{transform:none}.entry-progress span,.leaving .journey-stage{transition:none}}

.entry-mode .room-categories{display:none}

.journey-header>a{height:44px;min-height:44px;position:relative;overflow:hidden}.journey-header img{position:absolute;top:50%;transform:translateY(-50%)}

/* Live mobile readability: content determines the card position, with scroll access
   for enlarged text and unusually short landscape viewports. */
.journey-header button{font-size:12px}
.welcome-copy>p:not(.eyebrow){display:block;font-size:14px;line-height:1.6}
.welcome-copy{max-height:calc(100svh - 190px);overflow:auto;clip-path:none}
.welcome-copy button{font-size:13px}
.room-copy{top:var(--card-top,45svh);bottom:calc(var(--dock-height,90px) + 8px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:10px;scrollbar-width:thin}
.house-scene{height:calc(var(--card-top,45svh) - 66px - env(safe-area-inset-top))}
.room-copy p:not(.eyebrow){font-size:15px;line-height:1.5;margin-bottom:10px}
.room-copy .room-categories,.entry-mode .room-categories{display:block;font-size:12px!important;line-height:1.5;color:#515e47}
.chapter-line .eyebrow{font-size:11px;line-height:1.4}
.scroll-hint,.room-copy .scroll-hint{font-size:12px;line-height:1.5;min-height:36px;color:#515e47}
.small-link{font-size:12px;min-height:44px}
.room-dock small{font-size:11px;white-space:normal;text-align:center;color:#515e47}
.room-dock strong{line-height:1.15}
.room-dock a>span{font-size:10px;color:#6b5847}
.enter-room{min-height:48px}
dialog>p:not(.eyebrow){font-size:15px}.picker-options a small{font-size:12px}
@media(max-height:610px){.welcome-copy{top:90px;bottom:90px;max-height:none}.room-copy h2{font-size:35px}.small-link{min-height:44px}}

/* Keep invitations legible and tappable throughout their brief arrival motion. */
.enter-room{box-shadow:inset 0 0 0 1px #ffffff33;line-height:1.2;min-height:52px}
.enter-room span{min-width:0;overflow-wrap:break-word}
.enter-room svg{flex-shrink:0}

#subscribe{scroll-margin-top:80px}

/* Content-sized invitations keep the room image and navigation close together. */
.enter-room{position:relative;min-height:64px;padding:13px 19px;font-size:24px;overflow:visible;transform-origin:center;will-change:transform}
.enter-room span::after{content:"Tap to step inside";display:block;font:10px/1.4 Arial,sans-serif;letter-spacing:.06em;margin-top:5px;opacity:.95}
.enter-room svg{width:27px;height:27px;margin-right:6px}
.enter-room:active{transform:scale(.98)}
.room-copy{padding-inline:3px;left:21px;right:21px}
.room-copy .scroll-hint{margin-top:5px;min-height:30px;font-size:11px}
@media(min-width:601px){.room-copy{left:calc(50% - 193px);right:calc(50% - 193px)}}
@media(prefers-reduced-motion:reduce){.enter-room{will-change:auto}.enter-room:active{transform:none}}

.picker-options a{color:inherit;text-decoration:none}.picker-options a:focus-visible{outline:2px solid #a06d53;outline-offset:2px}

/* Keep the original wordmark compact throughout the mobile moon/house journey. */
.journey-header{gap:10px}
.journey-header>a:first-child{flex:0 1 180px;width:180px;max-width:46vw;min-width:0;height:40px;min-height:40px;overflow:visible}
.journey-header>a:first-child img{position:static;transform:none;width:100%;max-width:180px;height:auto;max-height:36px;object-fit:contain;object-position:left center}
.journey-header #choose-room{flex-shrink:0}
@media(max-width:360px){.journey-header{padding-inline:14px;gap:8px}.journey-header>a:first-child{max-width:42vw}.journey-header #choose-room{font-size:11px}}
