.menu-location{position:absolute;bottom:25px;left:25px;font-size:11px;text-shadow:2px 2px #111}.story-tracker{max-width:300px;background:#101923db;border-left-color:#e6b6e2}.story-tracker #location-label{font-family:ui-monospace,monospace;font-size:12px;color:#cdd6e2;line-height:1.5;margin:0 0 9px}.story-tracker #goal-walk{display:flex;gap:8px;font-size:12px;max-width:260px;line-height:1.65}.story-tracker .quest-check{flex-shrink:0;color:#f4d38b}.journey-bar{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);text-align:center;background:#111a22d9;border:2px solid #b5b7b177;padding:10px 17px;max-width:45vw}#journey-caption{font-size:10px;line-height:1.5}#journey-dots{display:flex;gap:7px;justify-content:center;margin-top:9px}#journey-dots i{width:8px;height:8px;background:#4c5863;display:block}#journey-dots i.done{background:#deb1d5}#journey-dots i.current{background:#ffe39c;box-shadow:0 0 0 2px #ffe39c55}.overlay-layer.story-dialog{align-items:flex-end;background:#070c111a;padding-bottom:30px}.story-dialog .modal-window{width:min(780px,95%);background:#17212af5;color:#f8f1de;border-color:#7b8794 #171c23 #131820 #6d7885;padding:22px 26px;max-height:75svh}.story-dialog h2{font-size:15px;color:#ffe49c;margin-bottom:10px}.story-dialog p{font-family:ui-monospace,monospace;font-size:18px;line-height:1.65;margin:8px 0;max-width:65ch}.story-dialog .dialog-actions{margin-top:14px}.story-dialog .pixel-button{font-size:12px;padding:10px 18px}.story-dialog .story-photo{float:right;max-width:155px;max-height:150px;object-fit:cover;border:4px solid #bac2c2;margin:0 0 15px 20px}.story-dialog blockquote{font-family:ui-monospace,monospace;margin:12px 0;font-size:19px;line-height:1.6;color:#ffd8f1}.story-dialog .source-line{font-size:12px;color:#bac8d5}.story-dialog .callback{margin-top:12px;font-size:15px;color:#d3e3f1}.phone-window{max-width:390px;margin:auto;background:#13161d;color:#eee;border:6px solid #3c4453;padding:22px 18px;box-shadow:0 0 0 3px #16191f}.phone-top{display:flex;align-items:center;gap:10px;font-size:13px;border-bottom:1px solid #525462;padding-bottom:18px}.phone-avatar{width:32px;height:32px;background:#ad78ad;display:flex;align-items:center;justify-content:center;border:3px solid #dfbed9;color:white}.phone-notification{font-family:ui-monospace,monospace;color:#c2cad5;font-size:13px!important;text-align:center;line-height:1.6!important;margin:22px 0!important}.chat-bubble{font-family:ui-monospace,monospace;font-size:17px;line-height:1.5;padding:12px 15px;margin:14px 0 14px 25px;background:#503d75;border:2px solid #7d6397}.chat-bubble.received{margin-left:0;margin-right:25px;background:#303947;border-color:#596373}.chat-who{font-family:var(--pixel-font);font-size:9px;color:#cfbadc;display:block;margin-bottom:6px}.phone-window .pixel-button{width:100%;font-size:11px;margin-top:20px}.phone-footnote{font-family:ui-monospace,monospace;font-size:11px;line-height:1.6;color:#bdc6d5;text-align:center}.modal-window.phone-mount{padding:0;border:0;background:transparent;box-shadow:none;max-width:390px}.map-mount{background:#1d2a34;color:#fff1d4;border-color:#b3c6cd #15212a #0a1823 #819ba8}.map-mount h2{color:#ffe69b;font-size:20px}.route-map{width:100%;max-height:360px;display:block;background:#233f39;border:3px solid #6b8c79;image-rendering:pixelated}.route-map text{font-family:Silkscreen,monospace;fill:#ffefbd;font-size:18px}.route-map .route-line{stroke:#ffe1a2;stroke-width:7;fill:none;stroke-dasharray:12 9}.route-map .place-block{fill:#687d71;stroke:#a1a897;stroke-width:2}.route-map .map-road{stroke:#527065;stroke-width:12;fill:none}.route-map .pin{fill:#f4bfdc;stroke:#172b26;stroke-width:4}.route-map .tiny{font-size:12px;fill:#d5dcd2}.map-mount p{font-family:ui-monospace,monospace;font-size:15px;line-height:1.65}.journal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.journal-grid button{padding:0;background:#455044;border:3px solid #5d6856}.journal-grid img{width:100%;height:110px;display:block;object-fit:cover}.journal-route{font-family:ui-monospace,monospace;font-size:14px;line-height:1.9}.journey-summary{font-size:11px!important;color:#4a5443}.book-note{line-height:1.7}.story-dialog .dialog-actions .secondary{background:#4a5362}.near-object{background:#15212ae8}.toast{background:#17232ef0;border-color:#bbacc3}.story-dialog .story-content:after{content:'';display:block;clear:both}
@media(max-width:900px){.journey-bar{left:auto;right:15px;transform:none;max-width:47vw;bottom:25px}.story-tracker{max-width:240px}.story-tracker #goal-walk{font-size:11px}.story-dialog p{font-size:16px}}
@media(max-width:600px){.menu-location{left:14px;bottom:17px;font-size:8px}.story-tracker{max-width:calc(100vw - 67px);width:233px}.story-tracker #goal-walk{font-size:9px;padding:4px 0;line-height:1.6}.story-tracker #location-label{font-size:10px;margin-bottom:3px}.journey-bar{right:10px;bottom:22px;max-width:54vw;padding:9px 10px}#journey-caption{font-size:8px}#journey-dots{gap:5px}#journey-dots i{width:6px;height:6px}.overlay-layer.story-dialog{padding:12px 10px 18px}.story-dialog .modal-window{width:100%;padding:16px 17px;max-height:76svh}.story-dialog h2{font-size:12px}.story-dialog p{font-size:14px;line-height:1.6}.story-dialog blockquote{font-size:16px}.story-dialog .source-line{font-size:11px}.story-dialog .story-photo{max-width:95px;max-height:110px;margin-left:12px}.story-dialog .pixel-button{font-size:10px}.phone-window{padding:18px 14px}.chat-bubble{font-size:15px;margin-left:15px}.chat-bubble.received{margin-right:15px}.phone-notification{font-size:12px!important;margin:17px 0!important}.phone-top{font-size:11px;padding-bottom:12px}.map-mount h2{font-size:16px}.map-mount p{font-size:13px}.journal-grid{grid-template-columns:repeat(2,1fr)}.journal-grid img{height:100px}.near-object{white-space:normal}.near-object #near-label{max-width:45vw;line-height:1.5}.story-dialog .callback{font-size:13px}.dialog-actions{gap:9px}}

/* Keep Continue reachable even on short phone viewports. */
.story-dialog .modal-window{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100svh - 42px)}
.story-dialog .story-content{overflow:auto;min-height:0;overscroll-behavior:contain}
.story-dialog>.modal-window>.dialog-actions{flex-shrink:0;margin-top:12px;padding-top:10px;border-top:1px solid #60708055}
.story-dialog>.modal-window>.dialog-actions>.pixel-button{min-height:46px}
@media(max-height:650px){.overlay-layer.story-dialog{padding:10px}.story-dialog .modal-window{max-height:calc(100svh - 20px);padding:14px 17px}.story-dialog p{font-size:14px;line-height:1.5}.story-dialog blockquote{font-size:15px}.story-dialog .story-photo{max-height:90px}.story-dialog h2{margin-bottom:6px}}

.phone-window{display:flex;flex-direction:column;max-height:calc(100svh - 48px);overflow:hidden}.phone-top{flex-shrink:0}.phone-content{overflow:auto;min-height:0;overscroll-behavior:contain}.phone-window #phone-next{flex-shrink:0;margin-top:14px;min-height:46px}

.pet-photo{margin:8px auto 0;text-align:center}.pet-photo img{display:block;margin:auto;width:auto;max-width:100%;max-height:min(52svh,390px);object-fit:contain;border:4px solid #b7c0b9}.retreat-map{display:block;width:100%;max-height:350px;border:3px solid #6b8c79}.retreat-map text{font:18px Silkscreen,monospace;fill:#ffe6b5}.book{position:relative}.ending-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ending-sparkles span{position:absolute;width:4px;height:15px;background:#fff2b0;animation:book-sparkle 1.6s ease-in-out infinite}.ending-sparkles span:after{content:'';position:absolute;left:-5px;top:5px;width:14px;height:4px;background:#fff2b0}@keyframes book-sparkle{0%,100%{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.ending-sparkles span{animation:none}}
.journal-media{margin:0;text-align:center}.memory-video{display:block;width:100%;max-height:min(52svh,390px);object-fit:contain;background:#111}.memory-video-toggle{display:block;max-width:100%;margin:12px auto 0;font-size:10px;line-height:1.6;min-height:44px;padding:8px 12px}.book-photo .memory-video{max-height:390px}@media(max-width:600px){.book-photo .memory-video{max-height:300px}.memory-video-toggle{font-size:9px}}
