/* Original book and special-round presentation; original trail layout stays intact. */
#safari{border-left:1px solid #dfd4a644;border-radius:0 24px 24px 0;margin-left:8px;padding:0 13px;color:#ffe1a0}#safari.ready{background:#e2c57d;color:#294338;font-weight:750}.outing-stats{padding-right:0}
.album-dialog{width:960px;max-width:min(960px,calc(100% - 24px));padding:30px 36px 24px;background:linear-gradient(110deg,#efe5cc,#faf3e2 55%,#e6d5b4);max-height:94svh}.album-dialog h2{font-size:34px;margin:10px 0 17px}.book-toolbar{display:flex;gap:10px;align-items:center;margin:12px 0 18px}.book-toolbar label{font-size:11px;color:#6a7256}.book-toolbar select{flex:1;min-width:0;min-height:44px;padding:8px 12px;border:1px solid #c1b897;background:#fbf5e6;color:#4b5740;border-radius:9px;font:12px system-ui}.book-toolbar button{margin:0;flex:none;padding:9px 13px}.photo-book{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;border:9px solid #695038;border-radius:9px;padding:3px;background:#927151;box-shadow:0 3px 0 #c8ad7a,0 6px 0 #907251,0 9px 0 #d0bd94,0 15px 30px #4e362044;perspective:1400px;touch-action:pan-y}.photo-book::after{content:'';position:absolute;left:calc(50% - 17px);top:0;bottom:0;width:34px;background:linear-gradient(90deg,transparent,#54351726 43%,#37240f44 50%,#ffffed99 55%,transparent);pointer-events:none}.book-page{position:relative;padding:22px 23px 30px;background:repeating-linear-gradient(7deg,#fffaf005 0,#fffaf005 1px,#c8ae6810 2px,#c8ae6810 3px),linear-gradient(90deg,#f5e9cd,#fff7e4 80%,#e6d6b4);min-width:0;transform-origin:left center}.book-page:nth-child(2){background:linear-gradient(90deg,#e6d6b4,#fff7e4 15%,#f3e7cd)}.book-chapter{display:block;text-transform:uppercase;letter-spacing:1.5px;font:9px/1.6 system-ui;color:#888164;border-bottom:1px solid #b7a87b55;padding:0 0 12px;margin-bottom:18px}.book-page .photo-frame{border-width:4px;padding:7px;background:#fffaf0;box-shadow:0 5px 10px #57422822;transform:rotate(-1.3deg);position:relative}.book-page:nth-child(2) .photo-frame{transform:rotate(1.2deg)}.book-page .photo-frame::before{content:'';position:absolute;left:calc(50% - 28px);top:-10px;width:56px;height:20px;transform:rotate(3deg);background:#d8bc7d55;z-index:2}.book-page .photo-view{width:100%;max-width:none}.book-page figcaption{font:23px Georgia,serif;padding:12px 0 5px;color:#4b503b}.book-page figcaption span{font:10px system-ui;line-height:1.5}.book-story{font:italic 14px/1.65 Georgia,serif!important;color:#747359!important;margin:20px 5px 8px;min-height:70px}.page-number{position:absolute;bottom:11px;left:0;right:0;text-align:center;font:11px Georgia;color:#97906f}.book-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 0 8px}.book-navigation button{min-width:120px;margin:0;min-height:46px}.book-navigation>span{font:12px Georgia;color:#887956}.book-tip{text-align:center;font-size:11px!important;line-height:1.65!important;margin:13px 0}.book-frames summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;color:#616d4c}.book-frames{border-top:1px solid #baa87e55}.missing-photo{min-height:190px;display:grid;place-content:center;justify-items:center;background:linear-gradient(135deg,#dedec6,#ece7d5);text-align:center}.missing-photo .portrait{width:76px;height:76px;filter:grayscale(.7);opacity:.6}.missing-photo p{font:italic 13px Georgia!important;margin:15px 8px!important}.rare-photo{position:relative;aspect-ratio:24/17;background:linear-gradient(#17363c11,#10283455),url('assets/starlight-meadow.png') center/cover;overflow:hidden}.rare-photo>span{position:absolute;inset:-8% 12%;display:block;background-repeat:no-repeat;aspect-ratio:1}.rare-photo.uncollected>span{filter:brightness(.2);opacity:.4}.rare-photo>b{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#fff7d0;font:italic 13px Georgia}.turn-forward .book-page:last-child{animation:pageForward .23s ease-in forwards}.turn-back .book-page:first-child{transform-origin:right center;animation:pageBack .23s ease-in forwards}@keyframes pageForward{to{transform:rotateY(-85deg);filter:brightness(.72)}}@keyframes pageBack{to{transform:rotateY(85deg);filter:brightness(.72)}}
.safari-dialog{width:950px;max-width:min(950px,calc(100% - 20px));max-height:94svh;padding:25px 32px;background:linear-gradient(135deg,#1a3b40,#172b40);color:#fff4d9;border-color:#b9b78577}.safari-dialog h2{color:#f4dda5;font-size:38px;margin:8px 0}.safari-dialog .eyebrow{color:#c7c9a6}.safari-dialog p{color:#bfcdc2}.safari-dialog .safari-intro{margin:7px 0 16px;font-size:13px}.safari-scene{height:clamp(310px,44vh,470px);position:relative;overflow:hidden;border:1px solid #e2cd8977;border-radius:16px;background:#163441 url('assets/starlight-meadow.png') center/cover;box-shadow:inset 0 0 100px #09233455}.aurora{position:absolute;inset:0;background:radial-gradient(ellipse at 40% 10%,#bafacc26,transparent 70%);animation:aurora 10s ease-in-out infinite;pointer-events:none}.firefly{width:48px;height:48px;position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;background:transparent;border:0;animation:drift 5s ease-in-out infinite;animation-delay:var(--delay);touch-action:manipulation;z-index:2}.firefly>span{width:10px;height:10px;border-radius:50%;background:#ffefac;box-shadow:0 0 7px 3px #fff4ac,0 0 19px 8px #efcb6f99,0 0 36px 17px #e8be4744;position:relative}.firefly>span::before,.firefly>span::after{content:'';width:12px;height:7px;border-radius:100%;background:#d9faff99;position:absolute;top:-3px;left:-9px;transform:rotate(32deg)}.firefly>span::after{left:6px;transform:rotate(-32deg)}.firefly:hover>span{box-shadow:0 0 10px 5px #fff4ac,0 0 28px 13px #efcb6fcc}.firefly:focus-visible{outline:2px solid #fff6cc;border-radius:50%;outline-offset:-1px}.firefly.caught{visibility:hidden;pointer-events:none}.safari-visitor{position:absolute;bottom:-3%;left:28%;width:44%;aspect-ratio:1;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 9px 8px #061a2444);opacity:0}.safari-visitor.arriving{opacity:1;animation:visitorArrive .9s ease-out both}.safari-caption{position:absolute;bottom:10px;left:12px;right:12px;background:#143034dc;color:#ffebae;text-align:center;border-radius:30px;padding:10px;font-size:12px;z-index:3;pointer-events:none}.safari-progress{display:flex;justify-content:space-between;font-size:12px;color:#e4d4a6;padding:16px 2px 8px}.safari-guests{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.safari-guest{display:flex;align-items:center;gap:4px;opacity:.6;border-bottom:1px solid #bfa95f33;padding-bottom:9px}.safari-guest>span{display:block;width:60px;height:60px;flex:none;background-repeat:no-repeat;filter:brightness(0);opacity:.45}.safari-guest small{font-size:10px;color:#d4d3b5}.safari-guest.met{opacity:1}.safari-guest.met>span{filter:none;opacity:1}.safari-dialog .primary{background:#e3c580;color:#183a34}.safari-dialog .secondary{border-color:#91ac9377;color:#dfebd2;margin:0}.safari-dialog .button-row{margin-top:16px}.sparkle::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,#fff1a444,transparent 65%);pointer-events:none;animation:celebrate 1.3s ease-out both}@keyframes aurora{50%{opacity:.4;transform:translateX(7%)}}@keyframes drift{0%,100%{translate:0 0}50%{translate:calc(var(--travel)*9px) -10px}}@keyframes visitorArrive{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}@keyframes celebrate{from{opacity:.8}to{opacity:0}}
@media(max-width:650px){.album-dialog{padding:23px 15px 18px}.album-dialog h2{font-size:27px;margin:9px 0 12px}.album-dialog #modal-content>.eyebrow{font-size:7px;letter-spacing:1.4px}.book-toolbar{gap:7px;margin:8px 0 13px}.book-toolbar label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.book-toolbar select{font-size:11px;padding:7px}.book-toolbar button{font-size:10px;padding:8px 11px}.photo-book{grid-template-columns:1fr;border-width:6px}.photo-book::after{left:0;width:14px;background:linear-gradient(90deg,#54351726,transparent)}.book-page{padding:17px 18px 25px}.book-page .photo-frame{padding:5px}.book-chapter{font-size:8px;margin-bottom:13px;padding-bottom:9px}.book-page figcaption{font-size:20px;padding:8px 0 3px}.book-story{font-size:12px!important;min-height:0;margin:15px 2px 8px}.book-navigation{margin-top:18px;gap:7px}.book-navigation button{min-width:99px;padding:10px 14px;font-size:11px}.book-tip{font-size:10px!important}.safari-dialog{padding:25px 15px 18px}.safari-dialog h2{font-size:31px}.safari-dialog .safari-intro{font-size:12px}.safari-scene{height:340px;background-position:50% 50%}.safari-visitor{width:75%;left:12.5%;bottom:0}.safari-caption{font-size:10px;padding:9px;bottom:9px}.safari-guests{gap:4px}.safari-guest{display:flex;flex-direction:column;text-align:center}.safari-guest small{font-size:9px}.safari-guest>span{width:55px;height:55px}.safari-progress{font-size:11px}.safari-dialog .button-row{gap:7px}.safari-dialog .button-row button{font-size:11px;min-height:44px;padding:10px 15px}.outing-stats{font-size:9px}.outing-stats button{font-size:10px;padding:0 10px}#safari{padding:0 10px;margin-left:6px}.missing-photo{min-height:165px}}
@media(prefers-reduced-motion:reduce){.firefly,.aurora,.safari-visitor.arriving,.sparkle::after,.turn-forward .book-page,.turn-back .book-page{animation:none!important;transform:none!important}}

.hint-focus .scene-tools,.hint-focus .outing-stats{opacity:0;pointer-events:none}.hint-focus .outing-stats button{pointer-events:none}

.album-dialog #modal-content>.eyebrow,.safari-dialog #modal-content>.eyebrow{display:block;padding-right:34px;line-height:1.6}

/* Keep the way forward visible after the photo book or completion dialog closes. */
.hint-button.trail-next{background:#e2c57d;color:#203d35;border-color:#9c7a32;font-weight:750;box-shadow:0 2px 5px #203d351a}
.hint-button.trail-next:hover{background:#edcf88}
.hint-button.trail-next:focus-visible{outline:3px solid #203d35;outline-offset:3px}
.hint-button.trail-next span{font-size:20px;line-height:1}
