/* Paper chapters and a tiny shared getaway. Motion responds to touch, never loops. */
.nest-intro h1{font-size:clamp(28px,3.5vw,43px)}.our-chapters{max-width:940px;margin:4px 0 38px}.chapter-intro{display:flex;justify-content:space-between;align-items:center;margin:0 8px 20px;gap:12px}.chapter-intro>span{font-size:10px;letter-spacing:2px;color:#b08096}.chapter-intro small{font-family:Georgia;font-style:italic;color:#b4878f;font-size:12px}.chapter-stack{padding:3px 12px;touch-action:pan-y}.chapter{position:relative;margin-top:-7px;border-radius:21px;overflow:hidden;box-shadow:0 4px 12px #89566510;border:1px solid #d9bbc380;transition:transform .32s ease,box-shadow .32s ease;background:var(--chapter-paper);transform:translateX(var(--chapter-shift)) rotate(var(--chapter-tilt));}.chapter-rose{--chapter-paper:#f9dce7;--chapter-shift:-9px;--chapter-tilt:-.5deg}.chapter-honey{--chapter-paper:#f7e8bf;--chapter-shift:8px;--chapter-tilt:.5deg}.chapter-lilac{--chapter-paper:#e9dff1;--chapter-shift:-4px;--chapter-tilt:-.4deg}.chapter-sage{--chapter-paper:#e4e9d8;--chapter-shift:9px;--chapter-tilt:.6deg}.chapter-peach{--chapter-paper:#f6dfcd;--chapter-shift:-6px;--chapter-tilt:-.6deg}.chapter.chosen{transform:translateX(0) rotate(0);z-index:2;box-shadow:0 8px 18px #9868811f}.chapter-tab{display:flex;align-items:center;gap:16px;width:100%;min-height:73px;padding:17px 21px;text-align:left;color:#795168;background:transparent}.chapter-number{font-family:Georgia;font-size:13px;color:#ad8899;align-self:flex-start;padding-top:3px}.chapter-name{flex:1;display:block}.chapter-name b{font-family:Georgia;font-weight:400;font-size:24px;display:block;letter-spacing:-.5px}.chapter-name small{display:block;font-size:10px;margin-top:6px;color:#a5788c}.chapter-symbol{font-family:Georgia;font-size:29px;color:#ba7897}.chapter-detail{position:relative;min-height:99px;padding:0 26px 21px 50px;border-top:1px dashed #b890a333;overflow:hidden}.chapter-detail[hidden]{display:none}.chapter-detail p{font-size:12px;line-height:1.7;max-width:70%;margin:13px 0;color:#92697d}.chapter-detail button{padding:8px 13px;border:1px solid #b0849b55;background:#fff7e9aa;color:#94627e;border-radius:18px;font-size:11px;position:relative;z-index:1;min-height:35px!important}.chapter-detail button>span{padding-left:10px}.chapter-doodle{position:absolute;right:35px;top:-8px;font-family:Georgia;font-size:98px;line-height:1;color:#b386a333;transform:rotate(15deg);pointer-events:none}.chapter-bookmarks{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}.chapter-bookmarks button{font-family:Georgia;font-style:italic;font-size:13px;background:#fff8eb;color:#a36b86;border:1px dashed #dfb8cd;border-radius:20px;padding:8px 12px;min-height:37px!important}.piggy-art{font-size:55px;margin:7px 0 12px;filter:saturate(.65);transform:rotate(-7deg)}.pool{background:#f2e8d5!important;border-radius:28px!important;position:relative;border:1px solid #dfccb1!important}.pool .pool-total{font-family:Georgia;color:#947251;font-weight:400}.pool .notice{background:#fbf7ec;font-size:12px!important;border-radius:17px;color:#a78b70!important;line-height:1.8}.pool .badge{background:#f9f1df;color:#a08767}.pool-member small{color:#a1856e}.getaway-heading{margin:5px 0 28px}.getaway-heading h1{font-size:clamp(29px,3.6vw,44px);font-family:Manrope;letter-spacing:-1.5px;color:#795168;line-height:1.16;margin:12px 0}.getaway-heading h1 em{font-family:Georgia;font-weight:400;color:#b48096}.getaway-heading>p:last-child{font-size:12px;line-height:1.8;color:#b28a9c}.getaway-view{background:#fff9ef;border-radius:26px;border:1px solid #e7cbd9;overflow:hidden;box-shadow:0 8px 23px #96608012}.getaway-passport{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:17px 22px;border-bottom:1px dashed #e3c0d2}.getaway-passport>span{font-size:9px;letter-spacing:1px;color:#b28a9c}.getaway-passport>b{font-family:Georgia;font-size:20px;font-weight:400;color:#966c83}.panorama-stage{position:relative;height:380px;overflow:hidden;background:#eadce4}.panorama-stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.panorama-stage canvas:active{cursor:grabbing}.panorama-loading{position:absolute;inset:0;display:grid;place-items:center;padding:30px;margin:0;background:#f5e8ed;color:#9f738a;text-align:center;font-size:13px;pointer-events:none}.panorama-loading[hidden]{display:none}.panorama-hint{position:absolute;left:20px;bottom:18px;padding:7px 12px;background:#fff5e8ce;border-radius:16px;font-size:10px;color:#846778;pointer-events:none}.panorama-controls{position:absolute;right:17px;bottom:16px;display:flex;gap:5px}.panorama-controls button{min-width:32px;min-height:33px!important;height:33px;font-size:16px;color:#78536d;background:#fff6eddf;border-radius:11px;padding:0 7px}.getaway-mood{font-family:Georgia;font-style:italic;color:#a5748f;text-align:center;margin:19px 15px 12px;font-size:19px;line-height:1.5}.getaway-together{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;padding:0 20px 15px}.getaway-sync{width:100%;text-align:center;font-size:10px;color:#b08a9b}.getaway-together button{padding:9px 13px;border:1px dashed #dcb7ce;background:#f7e8ef;color:#a3688b;border-radius:20px;font-size:10px;min-height:35px!important;display:flex;align-items:center;gap:7px}.getaway-together button svg{width:14px;height:14px;fill:none;stroke:currentColor}.getaway-together button[aria-pressed="true"]{background:#e9e0ee}.panorama-credit{font-size:9px;color:#b198a5;text-align:center;padding:0 20px 13px;margin:0;line-height:1.7}.panorama-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}.getaway-destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.getaway-destination{display:block;padding:7px 7px 17px;background:#fff6e9;border:1px solid #e3c9d6;border-radius:15px;color:#966780;text-align:left;box-shadow:0 5px 12px #9567820d;transform:rotate(-1deg)}.getaway-destination:nth-child(2){transform:rotate(1deg)}.getaway-destination.selected{border-color:#b9769c;box-shadow:0 0 0 2px #ebcada}.getaway-destination img{width:100%;height:92px;object-fit:cover;border-radius:10px}.getaway-destination>span{display:block;padding:10px 9px 0}.getaway-destination small{font-size:8px;letter-spacing:1px;display:block;color:#b693a2}.getaway-destination b{font-size:17px;font-family:Georgia;font-weight:400;display:block;margin:9px 0 5px;line-height:1.3}.getaway-destination em{font-size:9px;font-style:normal;color:#b18a9c}.getaway-anywhere{margin-top:30px;padding:24px;border-radius:23px;display:flex;gap:17px;background:#efe6f2;border:1px dashed #d7bedb}.getaway-anywhere>span{font-size:36px;color:#bb91ba}.getaway-anywhere>div{flex:1;min-width:0}.getaway-anywhere h2{font-size:22px;font-family:Georgia;font-weight:400;color:#a3759c;margin:0 0 10px}.getaway-anywhere p{font-size:11px;line-height:1.8;color:#ac8da8;max-width:640px}.getaway-search{display:flex;gap:9px;margin:17px 0 15px}.getaway-search input{flex:1;min-width:0;background:#fff8f0;font-size:12px;border:1px solid #d9bfd7;border-radius:13px;padding:12px}.getaway-search button,.getaway-coordinates button{font-size:11px;padding:9px 14px;border-radius:13px;background:#ad7ca7;color:#fff8f0}.getaway-coordinates{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.getaway-coordinates label{font-size:10px;color:#a57d9e;flex:1;min-width:90px}.getaway-coordinates input{width:100%;display:block;margin-top:4px;border:1px solid #d9bfd7;border-radius:11px;font-size:12px;padding:10px;background:#fff8f0}.getaway-footnote{font-size:10px;color:#b299a7;line-height:1.8;margin-top:20px;max-width:760px}
@media(max-width:620px){.chapter-intro{margin-bottom:16px;gap:8px}.chapter-intro>span{font-size:8px;letter-spacing:1.3px}.chapter-intro small{font-size:10px}.chapter-tab{gap:10px;min-height:64px;padding:13px 15px}.chapter-name b{font-size:21px}.chapter-name small{font-size:9px;line-height:1.45;max-width:220px}.chapter-detail{padding-left:37px;padding-bottom:17px;min-height:105px}.chapter-detail p{font-size:11px;max-width:75%}.chapter-symbol{font-size:25px}.chapter-bookmarks button{font-size:11px;padding:7px 9px}.chapter-bookmarks{gap:6px}.our-chapters{margin-bottom:32px}.nest-intro{margin-bottom:19px}.getaway-passport{padding:14px 12px;gap:8px}.getaway-passport>span{font-size:7px;letter-spacing:.5px}.getaway-passport>b{font-size:15px}.panorama-stage{height:315px}.panorama-hint{font-size:8px;left:11px;bottom:60px}.panorama-controls{right:11px;bottom:12px}.getaway-mood{font-size:17px}.getaway-destinations{grid-template-columns:1fr;gap:13px}.getaway-destination{display:flex;align-items:center;padding:7px}.getaway-destination img{width:110px;height:90px;flex-shrink:0}.getaway-destination>span{padding:5px 12px}.getaway-destination b{font-size:18px}.getaway-anywhere{padding:19px 15px;gap:10px}.getaway-anywhere>span{font-size:25px}.getaway-search{flex-direction:column}.getaway-coordinates button{width:100%}.getaway-heading h1{letter-spacing:-1px}.getaway-heading>p:last-child{font-size:11px}}
@media(prefers-reduced-motion:reduce){.chapter{transition:none;transform:none}}
/* All chapters have a card and an ordinary menu route. */
.menu-toggle{width:38px;height:38px;min-width:38px;display:grid;place-items:center;padding:8px;background:#f7e5ed;border:1px solid #e6c8d7;border-radius:12px;color:#9d6685;margin-right:10px}.menu-toggle svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.topbar .app-wordmark{flex:1}.topbar{justify-content:flex-start}.shell .sidebar{display:none}.shell .main{margin-left:0;width:100%;max-width:1240px;margin-right:auto;margin-left:auto}.mobile-nav{display:none!important}#space-menu{width:340px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);margin:20px auto auto 14px;border:1px solid #e2bdce;border-radius:25px;padding:24px;background:#fff7ed;color:#80586e;box-shadow:0 15px 65px #6f3d5544;overflow:auto}#space-menu::backdrop{background:#49314055;backdrop-filter:blur(3px)}#space-menu header{display:flex;align-items:center;justify-content:space-between;font:25px Georgia}#space-menu header button{background:transparent;color:#9e6483;font-size:27px;width:35px;height:35px;padding:0}#space-menu>p{font-size:11px;color:#a48195;margin:12px 0 22px}#space-menu nav{display:grid;gap:5px}#space-menu nav button{display:flex;align-items:center;gap:14px;text-align:left;background:transparent;border-radius:13px;color:#80586e;padding:12px;font-size:13px}#space-menu nav button:hover,#space-menu nav button.active{background:#f1e0ea}#space-menu nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}#space-menu .count{margin-left:auto}#toast{bottom:25px}
.chat-compose{align-items:center;gap:3px;padding:10px 8px max(10px,var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));background:var(--chat-paper)}.chat-compose textarea{padding:10px 8px;flex:1;min-width:0;min-height:42px;font-size:13px;border-radius:19px;border:1px solid #d6b9ca;background:#fffaf5;color:#704b62}.chat-compose .compose-tool{width:31px;min-width:31px;min-height:40px!important;height:40px;display:grid;place-items:center;border:0;padding:5px;background:transparent;color:var(--chat-accent);border-radius:12px}.chat-compose .compose-tool[aria-expanded="true"]{background:#ecdae7}.chat-compose .chat-send{width:36px;min-width:36px;height:39px;min-height:39px!important;padding:7px;border-radius:50%;background:var(--chat-accent)}.chat-head{gap:6px;padding:12px 10px}.chat-panel{bottom:70px;max-height:calc(100dvh - 95px)}#chat-root .chat-panel.maximized{inset:0;left:0;right:0;bottom:0;top:0;width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0;border:0;padding-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));z-index:95}.maximized .chat-messages{padding-left:max(16px,calc((100vw - 820px)/2));padding-right:max(16px,calc((100vw - 820px)/2))}.maximized .chat-message{max-width:min(87%,550px)}.maximized .chat-video-stage{height:clamp(145px,30dvh,300px)}.chat-tray{max-height:min(290px,38dvh)}.wallpaper-actions{flex-wrap:wrap}.image-draft{flex-shrink:0;display:flex;align-items:center;gap:12px;background:#f6e5ef;padding:9px 13px;color:#8b5773}.image-draft>img{height:80px;max-width:110px;object-fit:contain;border-radius:10px}.image-draft>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.image-draft small{width:100%;font-size:10px}.image-draft button{border-radius:14px;background:#e8cbdc;padding:7px 12px;font-size:11px;color:#80556d;min-height:34px!important}.chat-shared-image{display:block;max-width:100%;width:auto;max-height:300px;object-fit:contain;border-radius:10px}.chat-shared-image:not([src]){display:none}.image-loading{font-size:11px}
.chat-panel[data-theme="love"]{--chat-head:#f5c8d8;--chat-paper:#fff1f4;--chat-mine:#f5c1d2;--chat-other:#f7ded6;--chat-accent:#ad406d}.chat-panel[data-theme="space"]{--chat-head:#30294a;--chat-paper:#201d35;--chat-mine:#5b4c81;--chat-other:#36314e;--chat-ink:#fff2fb;--chat-accent:#bc9de4}.chat-panel[data-theme="funny"]{--chat-head:#f3df9f;--chat-paper:#fff9dd;--chat-mine:#e7eab6;--chat-other:#f6d2c0;--chat-accent:#886335}.chat-panel[data-theme="melody"]{--chat-head:#cfe4df;--chat-paper:#f1faf6;--chat-mine:#d0e5df;--chat-other:#eee1f2;--chat-accent:#4f7b72}.chat-messages{background-image:var(--chat-pattern);background-size:100px 95px}.chat-messages[style*="linear-gradient"]{background-size:cover}.theme-love i{background:linear-gradient(135deg,#e79eb8 50%,#fff1f4 50%)}.theme-space i{background:linear-gradient(135deg,#8970b7 50%,#201d35 50%)}.theme-funny i{background:linear-gradient(135deg,#ecc966 50%,#e7eab6 50%)}.theme-melody i{background:linear-gradient(135deg,#87bbae 50%,#eee1f2 50%)}.chat-panel:is([data-theme="night"],[data-theme="space"]) :is(.chat-person b,.chat-empty h3){color:var(--chat-ink)}.chat-panel:is([data-theme="night"],[data-theme="space"]) :is(.chat-icon,.chat-empty p,.chat-person small){color:#cdbbe7}
.chat-options{position:absolute;right:12px;width:230px;max-width:calc(100% - 24px);z-index:10;background:var(--chat-paper);border:1px solid var(--chat-accent);border-radius:17px;padding:7px;box-shadow:0 8px 26px #57354733}.chat-options button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:13px 10px;border-radius:10px;background:transparent;text-align:left;color:var(--chat-ink);font-size:12px;min-height:44px}.chat-options button:hover,.chat-options button:focus-visible{background:var(--chat-mine)}.chat-options button span{color:var(--chat-accent);font-size:18px}
.chat-panel:not(.maximized){width:270px;height:280px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 32px);border-radius:16px;bottom:64px}.chat-panel:not(.maximized) .chat-head{min-height:30px;padding:2px 6px;gap:3px;touch-action:none;cursor:grab}.chat-panel.moving .chat-head{cursor:grabbing}.chat-panel:not(.maximized) .chat-avatar,.chat-panel:not(.maximized) .chat-person small{display:none}.chat-panel:not(.maximized) .chat-person b{font-size:11px}.chat-panel:not(.maximized)[data-context="guest"] .chat-person b:after{content:' · guest';font-size:8px;font-weight:400;opacity:.7}.chat-panel:not(.maximized) .chat-icon{width:26px;min-width:26px;height:26px;min-height:26px!important;padding:5px}.chat-panel:not(.maximized) .chat-icon svg{width:14px;height:14px}.chat-panel:not(.maximized) .chat-mode{padding:2px 6px;min-height:22px;justify-content:flex-end}.chat-panel:not(.maximized) .chat-mode>span{display:none}.chat-panel:not(.maximized) .chat-mode button{padding:2px 7px;min-height:20px!important;font-size:8px}.chat-panel:not(.maximized) .chat-messages{min-height:0;padding:7px;gap:6px}.chat-panel:not(.maximized) .chat-message{padding:6px 8px;max-width:92%;border-radius:11px}.chat-panel:not(.maximized) .chat-message p{font-size:12px}.chat-panel:not(.maximized) .chat-empty{padding:9px}.chat-panel:not(.maximized) .chat-empty h3{font-size:14px}.chat-panel:not(.maximized) .chat-empty p{font-size:10px}.chat-panel:not(.maximized) .chat-empty>span{font-size:23px}.chat-panel:not(.maximized) .chat-compose{padding:5px 4px;gap:2px}.chat-panel:not(.maximized) .chat-compose textarea{padding:6px;min-height:34px;height:34px}.chat-panel:not(.maximized) .compose-tool{width:23px;min-width:23px;height:30px;min-height:30px!important;padding:3px}.chat-panel:not(.maximized) .compose-tool svg{width:15px;height:15px}.chat-panel:not(.maximized) .chat-send{width:28px;min-width:28px;height:30px;min-height:30px!important;padding:5px}.chat-panel:not(.maximized) .chat-error{max-height:40px;overflow:auto;padding:0 6px;font-size:10px}.chat-error:empty{display:none}.chat-panel:not(.maximized) .chat-tray{max-height:115px;padding:5px 7px}.chat-panel:not(.maximized) .voice-draft{padding:6px;gap:4px}.chat-panel:not(.maximized) .image-draft{padding:5px 7px}.chat-panel:not(.maximized) .image-draft>img{height:50px}.chat-panel:not(.maximized) .love-sticker{width:85px}.chat-panel:not(.maximized) .chat-shared-image{max-height:120px}.chat-panel:not(.maximized) .voice-message{min-width:155px}.chat-panel:not(.maximized) .voice-play span{font-size:10px}
@media(max-width:620px){.shell .main{padding-bottom:max(20px,var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}.topbar .mode-label,.topbar .private{display:none}.topbar .top-right{gap:4px}.menu-toggle{margin-right:8px}.chapter-tab{min-height:72px}.chat-panel{bottom:64px}.chat-compose textarea{font-size:16px}.chat-tray{max-height:min(285px,38dvh)}}

/* A compact composer for the movable chat window. */
.chat-panel:not(.maximized) .chat-compose{align-items:center;padding:4px;gap:2px;min-height:36px;max-height:64px}.chat-panel:not(.maximized) .chat-compose textarea{box-sizing:border-box;min-height:28px;height:28px;max-height:52px;padding:5px 7px;font-size:12px;line-height:16px;border-radius:12px;margin:0;align-self:center}.chat-panel:not(.maximized) .chat-compose .compose-tool{width:22px;min-width:22px;height:28px;min-height:28px!important;padding:3px}.chat-panel:not(.maximized) .chat-compose .compose-tool svg{width:14px;height:14px}.chat-panel:not(.maximized) .chat-compose .chat-send{width:27px;min-width:27px;height:28px;min-height:28px!important;padding:5px}.chat-panel:not(.maximized) .chat-compose .chat-send svg{width:15px;height:15px}

/* All menu destinations fit a typical portrait phone without a long scroll. */
#space-menu{padding:16px 18px;max-height:calc(100dvh - 24px);margin-top:12px;border-radius:21px}
#space-menu header{font-size:23px}#space-menu>p{margin:6px 0 10px;font-size:10px}
#space-menu nav{gap:1px}#space-menu nav button{padding:5px 10px;min-height:36px;gap:11px;font-size:12px;border-radius:10px}
#space-menu nav svg{width:18px;height:18px;flex:none}
@media(max-height:620px){#space-menu{padding:12px 15px}#space-menu header{font-size:21px}#space-menu>p{margin:3px 0 7px}#space-menu nav button{min-height:31px;padding:3px 9px;font-size:11px}}

@media(max-height:500px) and (min-width:500px){#space-menu{width:560px}#space-menu nav{grid-template-columns:1fr 1fr}}

/* Set display to inline-flex to bring the top menu icon back. Menu code is retained. */
.topbar .menu-toggle{display:none}
