/* Personal details, game states, and music, extending the original island theme. */
.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}
.music-dock{display:flex;align-items:center;gap:12px;border:1px solid #c5b79c;background:#fff8e9;padding:8px 12px;margin:-8px 0 21px auto;max-width:465px;box-shadow:3px 3px 0 #d8c6a734;border-radius:4px}
.music-play{width:36px;height:36px;border:1px solid #9a876e;background:#edc6b7;font-size:17px;flex-shrink:0}
.music-caption{flex:1;min-width:0;line-height:1.45}.music-caption>span{display:block;font-size:13px;font-weight:700}.music-caption>small{font-size:11px;color:#90785f;display:block}.music-control{width:33px;height:34px;border:0;background:transparent;font-size:24px;line-height:1}
.equalizer{display:flex;align-items:center;gap:3px;height:20px;margin:0 5px}.equalizer i{height:4px;width:3px;background:#b2825a}.equalizer.playing i{animation:equalize .8s ease-in-out infinite alternate}.equalizer.playing i:nth-child(2){animation-delay:-.4s}.equalizer.playing i:nth-child(3){animation-delay:-.2s}.equalizer.playing i:nth-child(4){animation-delay:-.6s}
@keyframes equalize{to{height:18px}}
.music-settings{background:#fff9ed;border:1px solid #c7b69b;max-width:650px;margin:-10px 0 20px auto;padding:15px;box-shadow:3px 3px 0 #d8c6a734}.track-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.track-list button{padding:11px;text-align:left;border:1px solid #ddcdb5;background:#fcf4e3}.track-list button.active{background:#efcfc0;border-color:#ae826a}.track-list span{display:block;font-size:14px}.track-list small{display:block;font-size:12px;color:#856b51;margin-top:3px}.volume-label{display:flex;align-items:center;gap:15px;margin-top:14px;font-size:13px}.volume-label input{flex:1;min-width:0;accent-color:#b96955}.music-settings p{font-size:11px;color:#90785f;margin-bottom:0}
.star-track{font-size:25px;gap:8px}.progress-box{min-width:215px}.pin-fruit{left:58%;top:51%}.pin-lock{position:absolute;right:10px;top:-7px;font-size:14px}.map-pin.locked .pin-icon{background:#e8e0d1;color:#947763}.map-pin.locked .pin-label{background:#f3ebde}.map-pin:not(.locked) .pin-lock{color:#b57c28}
.island-spark{position:absolute;z-index:1;color:#fff8d5;font-size:22px;text-shadow:0 0 8px #ffffff;animation:twinkle 3s ease-in-out infinite;pointer-events:none}.spark-1{left:9%;top:70%}.spark-2{left:91%;top:26%;animation-delay:-1.1s}.spark-3{left:72%;top:92%;animation-delay:-2.3s}@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
.little-secrets{display:flex;align-items:center;gap:8px;margin-top:15px;flex-wrap:wrap}.little-secrets>span{font-size:11px;color:#9b8065;margin-right:3px}.little-secrets button{font-size:12px;min-height:34px;background:#fcf0d9;border:1px dashed #bca281;padding:5px 9px}.little-secrets button:hover{background:#f7dec6}.little-secrets .discovered{border-style:solid;background:#e5eddf}.little-secrets .discovered::after{content:' ✓';color:#729061}.footer small{display:block;font-size:10px;letter-spacing:0;margin-top:4px;color:#a59179}
.album-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.album-filters button{border:1px solid #ccb79a;background:transparent;padding:8px 14px;font-size:14px;min-height:40px}.album-filters button[aria-pressed=true]{background:#edd0bb;border-color:#ab8663;font-weight:700}.garden-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f1f1dc;border:1px dashed #a8b18d;padding:14px 18px;margin-bottom:27px}.garden-progress strong{font-size:14px}.garden-progress p{font-size:13px;margin:3px 0 0;color:#7f8064}.garden-progress .button{font-size:13px;white-space:nowrap}
.album-card{position:relative;min-width:0}.album-number{position:absolute;left:16px;top:16px;padding:1px 7px;border:1px solid #9a8164;background:#fff8e7e8;font:12px/1.8 ui-monospace,monospace;z-index:1}.album-title{min-height:2em;line-height:1.65}.album-seen{display:none;position:absolute;right:15px;top:15px;background:#d9e7ca;width:24px;height:24px;border:1px solid #859770;font-size:15px;line-height:22px}.album-card.seen .album-seen{display:block}.album-card:nth-child(4n+1){transform:rotate(-.7deg)}.album-card:nth-child(4n+3){transform:rotate(.7deg)}.album-card:hover{transform:translateY(-5px) rotate(0)}
.photo-modal-head .eyebrow{font-size:10px}.photo-caption{background:#fcf1d9;border-left:3px solid #d2a580;padding:12px 14px;margin:15px 0}.photo-read-status{text-align:center;font-size:12px;color:#8b9770;margin:13px 0 0}.photo-loading{position:absolute;inset:0;display:grid;place-items:center;background:#efe4d2;font-size:14px}.photo-stage img{touch-action:pan-y pinch-zoom}.modal-bar{position:sticky;top:0;z-index:10}.wide-modal{width:min(710px,calc(100% - 28px))}.match-grid.expanded{grid-template-columns:repeat(4,1fr);gap:11px}.match-grid.expanded .match-card{aspect-ratio:1}.match-card{transition:transform .16s,border-color .2s}.match-card.flipped{transform:scale(.96)}.match-card.matched{opacity:.82;box-shadow:0 0 0 2px #b8cca1}.match-stats{display:flex;justify-content:space-between;font-size:14px;color:#8d755d;margin-top:18px}.replay-match{display:block;margin:20px auto 0;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.quiz-modal{width:min(940px,calc(100% - 28px))}.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;padding:25px}.quiz-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;background:#eee4d1;min-height:360px}.quiz-image-wrap img{width:100%;max-height:65dvh;object-fit:contain}.question-photo-tag{position:absolute;bottom:11px;left:11px;background:#fff8e6df;border:1px solid #b89a74;padding:3px 8px;font:11px/1.5 ui-monospace,monospace}.quiz-topline{display:flex;justify-content:space-between;font-size:13px;color:#8d7054;margin:4px 0 12px}.quiz-topline strong{color:#ad6250}.question-progress{height:5px;background:#e5d8c2}.question-progress>span{display:block;height:100%;background:#d28b73;transition:width .3s}.quiz-panel h2{font-size:24px;line-height:1.6;margin:22px 0 20px}.answer-input{width:100%;min-width:0;padding:12px;border:1.5px solid #bba082;background:#fffef8;font:inherit;font-size:16px;color:var(--ink);border-radius:0}.answer-input:focus{outline:2px solid #a5bba3;outline-offset:2px}.answer-input:disabled{background:#f1e8d6;color:#7c6750}#answer-form .button{margin-top:13px;width:100%}.story-reveal{border:1px solid #c9b59a;background:#fcf1dc;padding:16px;margin:20px 0;animation:appear .3s ease}.story-reveal.right{border-color:#adc197;background:#edf1df}.story-reveal>strong{display:block;font-size:16px}.story-reveal>span{font-size:12px;display:block;margin:8px 0;color:#897459}.story-reveal p{font-size:15px;line-height:1.9;margin:9px 0 0}.score-stamp{font:700 62px/1.6 ui-monospace,monospace;color:#c46f5b}.score-stamp small{font-size:28px;color:#a58c71}.trap-result .score-stamp{color:#8c7162}.fish-wiggle{animation:wiggle 1.2s ease-in-out infinite}@keyframes wiggle{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.fruit-photo{width:165px;height:175px;object-fit:cover;margin:16px auto;border:6px solid #fffdf6;outline:1px solid #c5ae8d;transform:rotate(-3deg)}.fruit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.fruit-option{border:1px solid #c3aa88;min-height:74px;background:#fff1d9;font-size:14px;padding:9px}.fruit-option>span{display:block;font-size:27px;line-height:1.4}.fruit-option.correct{background:#dce9cb;border-color:#8aa177}.fruit-option.wrong{background:#f0d9d1;opacity:.6}
.gift-checklist{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:550px;margin:24px auto}.gift-checklist button{display:flex;align-items:center;gap:10px;border:1px solid #d6c2a4;background:#fffaed;padding:12px 14px;text-align:left;font-size:14px}.gift-checklist span{font-size:22px;color:#b89a75}.gift-checklist small{margin-left:auto;font-size:11px;color:#9b866c}.gift-checklist .complete{border-color:#b7c8a5;background:#edf1e4}.gift-checklist .complete span{color:#ad802e}.gift-footnote{font-size:13px!important}.lock-checklist{max-width:360px;margin:20px auto;text-align:left}.lock-checklist>div{display:flex;align-items:center;gap:12px;border-bottom:1px dashed #d4bda0;padding:8px 5px;font-size:14px}.lock-checklist span{font-size:22px;color:#bd9156}.lock-checklist small{margin-left:auto;font-size:11px;color:#a28a6c}.letter-stars{color:#c19146;letter-spacing:10px;font-size:21px;margin:20px 0 8px}.letter-finale .letter-paper{font-size:17px;padding:28px;text-align:justify;animation:appear .9s ease}.letter-finale .letter-paper p{line-height:2.2}.letter-finale .signature{font-size:24px;margin-top:24px}.reunion-note{font-size:14px;color:#a77b65;letter-spacing:1px;margin:18px 0}.letter-finale{background:radial-gradient(ellipse at top,#fff3cf,transparent 70%)}
.fishing-token{font-size:86px;margin:20px auto;line-height:1.4}.fishing-token.fishing{animation:bob .55s ease-in-out infinite alternate}.catch-photo{height:220px;max-width:100%;margin:20px auto 0;object-fit:contain;border:6px solid white;outline:1px solid #c8b89b;transform:rotate(-2deg)}.football-kick{display:block;margin:30px auto 22px;font-size:86px;border:0;background:transparent;width:145px;height:145px;line-height:1;filter:drop-shadow(0 7px 3px #71582d22)}.football-kick.kicked{animation:kick .45s ease}.goal-score{font:700 24px ui-monospace,monospace;color:#9b6e4a}.zodiac-symbol{color:#b08b65}.envelope-bounce{animation:bob 1.8s ease-in-out infinite alternate}.guide-steps{text-align:left;background:#fff2d6;border:1px dashed #b7a083;padding:13px 22px;margin:20px 0}.guide-steps p{font-size:14px;margin:7px 0!important}@keyframes bob{to{transform:translateY(-6px) rotate(3deg)}}@keyframes kick{40%{transform:translateY(-28px) rotate(70deg) scale(.86)}to{transform:translateY(0) rotate(180deg)}}
@media(max-width:1050px){.map-layout{grid-template-columns:minmax(0,1fr) 190px;gap:19px}.pin-fruit{top:53%;left:56%}.pin-label{font-size:10px}.letter-finale .letter-paper{padding:22px}.little-secrets{gap:6px}.little-secrets button{font-size:11px;padding:5px 7px}}
@media(max-width:760px){.music-dock{margin:0 0 18px;max-width:none;padding:7px 10px;gap:10px}.music-caption>small{font-size:10px}.music-control{width:30px}.music-settings{margin-top:-8px}.track-list small{font-size:10px}.track-list span{font-size:12px}.star-track{font-size:23px;gap:5px}.progress-box{min-width:0}.map-layout{display:block}.pin-2{top:23%}.pin-3{left:70%;top:27%}.pin-4{left:83%;top:48%}.pin-fruit{left:46%;top:48%}.pin-5{left:34%;top:68%}.pin-6{left:69%;top:82%}.pin-label{font-size:10px}.pin-lock{right:8px;font-size:12px}.little-secrets{gap:7px;margin-top:15px;justify-content:center}.little-secrets>span{display:none}.little-secrets button{padding:7px 9px;min-height:37px;font-size:11px}.album-filters{gap:6px}.album-filters button{font-size:12px;padding:7px 10px}.garden-progress{display:block;padding:12px 14px}.garden-progress p{font-size:12px}.garden-progress .button{font-size:12px;padding:8px 13px;margin-top:12px;min-height:38px}.album-number{top:12px;left:12px;font-size:11px}.album-seen{right:11px;top:11px;width:22px;height:22px;font-size:12px;line-height:20px}.album-title{min-height:3.4em}.photo-modal-head{gap:7px}.photo-modal h2{font-size:16px}.photo-toggle{flex-shrink:0}.photo-caption{font-size:14px;margin:13px 0;padding:10px 12px}.photo-read-status{font-size:11px}.match-grid.expanded{gap:8px}.match-card .card-back{font-size:30px;border-width:3px}.match-stats{font-size:12px}.quiz-layout{display:block;padding:17px}.quiz-image-wrap{min-height:150px;max-height:35dvh}.quiz-image-wrap img{max-height:35dvh;width:100%;object-fit:contain}.quiz-panel{margin-top:17px}.quiz-panel h2{font-size:21px;margin:14px 0}.quiz-topline{font-size:12px}.story-reveal{padding:14px;margin:16px 0}.story-reveal p{font-size:14px}.quiz-panel .button{font-size:14px;padding:11px 16px}.fruit-photo{width:140px;height:145px}.fruit-grid{gap:8px}.fruit-option{font-size:13px;min-height:67px;padding:7px}.fruit-option>span{font-size:23px}.gift-checklist{gap:7px}.gift-checklist button{font-size:12px;padding:9px;gap:5px}.gift-checklist span{font-size:19px}.gift-checklist small{font-size:9px}.letter-stars{font-size:18px;letter-spacing:6px}.letter-finale .letter-paper{padding:20px 17px;font-size:16px}.letter-finale .letter-paper p{font-size:16px}.reunion-note{font-size:13px;letter-spacing:0}.guide-steps{padding:12px 15px}.guide-steps p{font-size:13px}.score-stamp{font-size:52px}}
@media(max-width:370px){.music-caption>small{font-size:9px}.equalizer{display:none}.little-secrets{gap:5px}.little-secrets button{font-size:10px;padding:6px 7px}.star-track{font-size:20px}.progress-box>div:first-child{font-size:11px;gap:8px}.pin-label{font-size:9px}.pin-icon{width:29px;height:29px;font-size:21px}.pin-fruit{left:45%}.pin-4{left:82%}.album-filters button{font-size:11px;padding:7px 8px}.photo-modal h2{font-size:14px}.photo-toggle button{font-size:10px;padding:7px}.fruit-option{font-size:12px}.gift-checklist button{font-size:11px}.gift-checklist small{display:none}}
@media(prefers-reduced-motion:reduce){.island-spark{opacity:.6}.story-reveal,.letter-finale .letter-paper{opacity:1}}
