/* V4 · el mismo mundo, un paseo más cuidado */
button{touch-action:manipulation}button:focus-visible{outline:3px solid #bd724a;outline-offset:4px}button:disabled{cursor:default}button:active:not(:disabled){translate:0 2px}
#sound-toggle{position:fixed;right:18px;top:132px;z-index:8;border-radius:20px;padding:9px 12px;background:#fff6e8;color:#355643;box-shadow:0 3px 10px #18372820;font-size:12px;min-height:40px}.quest{max-width:calc(100vw - 125px)}
#sara-thought{position:fixed;bottom:calc(180px + env(safe-area-inset-bottom));left:18px;z-index:1;border-radius:22px;background:#fff6e9ed;padding:11px 16px;font-size:12px;border:1px solid #d5c4a2;box-shadow:0 3px 14px #29442e20}#sara-thought[hidden]{display:none}
#thought-toast{position:fixed;bottom:calc(229px + env(safe-area-inset-bottom));left:18px;max-width:min(320px,calc(100vw - 36px));background:#fff5e6f5;border:1px solid #d6bf94;border-radius:18px;padding:14px 17px;font:15px/1.5 Georgia,serif;box-shadow:0 5px 25px #24463822;z-index:2;pointer-events:none}#thought-toast[hidden]{display:none}#thought-toast strong{display:block;font:11px 'Trebuchet MS',sans-serif;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px;color:#97794f}
#act{min-width:110px;min-height:68px;transition:background .2s,box-shadow .2s}#act:focus-visible{outline-color:#fff4d8}
#modal{z-index:5}.card{animation:page-arrive .32s ease-out}.actor.speaking{animation:actor-breathe 3.8s ease-in-out infinite}.dialogue-text{cursor:pointer}.dialogue-cue{font:11px 'Trebuchet MS',sans-serif!important;color:#8e7753!important;text-align:right;margin:0 0 8px!important}.dialogue-box{padding-bottom:18px}
.album-card{max-width:660px;background:linear-gradient(110deg,#eee0c4,#fff9ec 10%,#fff7e7);text-align:left;padding:28px}.album-card h2{text-align:center}.album-intro{text-align:center;color:#806f54}.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin:24px 0}.album-print{padding:9px 9px 15px;background:#fffdfa;border:1px solid #e0d6c3;border-radius:3px;box-shadow:0 4px 9px #664d2920;transform:rotate(-1.3deg);color:#405a47}.album-print:nth-child(even){transform:rotate(1.3deg)}.album-print img{width:100%;height:150px;object-fit:cover;background:#efe8d7}.album-print span{display:block;font:16px Georgia,serif;margin-top:10px}.album-print small{display:block;font:11px/1.5 'Trebuchet MS',sans-serif;color:#82745d;margin-top:5px}.album-card .memory-list{font-size:13px}.album-page{max-width:620px}.album-page .memory-photo{max-height:53dvh;border:9px solid #fffdf8;border-radius:2px;box-shadow:0 5px 18px #6e553226}.album-page .caption{font:italic 17px/1.6 Georgia,serif;color:#806e50}.album-footer{text-align:center}.album-card details{text-align:center;margin-top:18px}.album-card summary{cursor:pointer;font-size:12px;padding:12px;color:#887557}
.scene-veil{position:fixed;inset:0;z-index:4;pointer-events:none;background:#f6ebd7;animation:scene-fade .7s ease-out forwards}.keepsake-card{max-width:500px;padding:38px 28px;background:linear-gradient(135deg,#fff9e9,#f2e1c0);border:1px solid #ccb783}.keepsake-card h2{font:36px Georgia,serif}.keepsake-card .dedication{font:19px/1.8 Georgia,serif}.keepsake-card .leaf{color:#b68b52;font-size:40px}.cake-card{animation:page-arrive 1.2s ease-out}.cake-scene.blown{animation:golden-light 1.5s ease-out}
@keyframes page-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes actor-breathe{50%{transform:translateY(-3px)}}@keyframes scene-fade{from{opacity:.8}to{opacity:0}}@keyframes golden-light{from{filter:brightness(1.3)}to{filter:brightness(1)}}
@media(min-width:800px){#sound-toggle{top:145px;right:30px}}
@media(max-width:480px){.album-print img{height:120px}.album-card{padding:22px 17px}.album-grid{gap:14px 10px}.album-print span{font-size:14px}.quest{font-size:10px;top:137px}#sound-toggle{top:132px}.card .dialogue-text{font-size:16px}.dialogue-card{max-height:90dvh}}
@media(max-height:520px){#sara-thought{bottom:155px;left:12px}#thought-toast{bottom:200px;max-width:270px;font-size:12px}.brand p,.brand small{display:none}.quest{top:76px}#sound-toggle{top:76px}.dialogue-card{height:94dvh}.actors{min-height:65px}.dialogue-box{min-height:130px;padding:17px 18px 10px}.card .dialogue-text{font-size:14px;min-height:22px}.dialogue-cue{font-size:10px!important}.advance{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene-veil{display:none}}
body:has(#modal:not([hidden])) #sound-toggle{top:max(8px,env(safe-area-inset-top));right:12px;min-height:34px;padding:7px 12px}
.album-top-back{display:block;margin:0 0 14px;padding:9px 0;background:none;font-size:12px;color:#79694e}

/* Reserve room for the explicit audio activation control. */
.quest{max-width:calc(100vw - 155px)}
