:root{color-scheme:dark;--bg:oklch(.145 0 0);--surface:oklch(.21 0 0);--ink:oklch(.98 0 0);--muted:oklch(.76 0 0);--line:oklch(.38 0 0);--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:Manrope,Arial,sans-serif;--header:76px;--footer:108px;--edge:clamp(22px,4vw,64px)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink)}body{font:15px/1.6 var(--body);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.3}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:6px}button:focus:not(:focus-visible){outline:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.02;letter-spacing:-.015em;text-wrap:balance}h2{font-size:clamp(38px,4.4vw,64px)}p{text-wrap:pretty}em{font-style:normal}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[tabindex='-1']:focus{outline:none}
#experience{position:fixed;inset:0;height:100dvh;isolation:isolate;overflow:hidden}#media-layer,.scene-shade,#scenes,.scene{position:absolute;inset:0}.film-frame{position:absolute;inset:0;overflow:hidden;background:var(--bg)}.film-frame img,.film-frame video{width:100%;height:100%;object-fit:contain;display:block}.scene-shade{z-index:1;pointer-events:none;background:linear-gradient(0deg,var(--bg),transparent 29%,transparent 80%,oklch(.145 0 0/.7))}#scenes{z-index:2}.scene{padding:var(--header) var(--edge) var(--footer);overflow:hidden}.film-header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--header);padding:12px var(--edge);font-size:12px}.film-header>p{max-width:55%;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:24px}.header-actions button{font-size:12px}.sound-toggle{display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:none;padding:0}.sound-toggle svg{width:18px;height:18px}.sound-toggle[aria-pressed=false] svg{opacity:.5}.text-button{background:none;border:0;padding:8px 0;min-height:44px;text-underline-offset:5px}.text-button:hover{text-decoration:underline}.text-button svg{display:inline-block;vertical-align:middle;margin-right:7px}.film-controls{position:absolute;z-index:5;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr minmax(80px,160px) 1fr;gap:30px;align-items:center;padding:20px var(--edge) max(24px,env(safe-area-inset-bottom));min-height:var(--footer);background:linear-gradient(transparent,var(--bg) 50%)}.previous-control{justify-self:start;display:flex;align-items:center;gap:12px;border:0;background:none;padding:12px 0;min-height:48px;font-size:13px}.previous-control svg{transform:rotate(180deg);width:18px}.next-control{justify-self:end;display:flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:12px 24px;background:var(--ink);color:var(--bg);border:0;border-radius:4px;font-weight:600;font-size:13px}.next-control:hover{background:oklch(.87 0 0)}.next-control svg{width:19px;transition:transform .2s}.next-control:hover svg{transform:translateX(4px)}.film-progress{text-align:center;color:var(--muted);font-size:11px;white-space:nowrap}.progress-track{height:2px;background:var(--line);margin-top:11px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--ink);transform-origin:left;transition:transform .4s}
.cover-title{position:absolute;left:var(--edge);right:var(--edge);bottom:calc(var(--footer) + 36px);text-align:center}.cover-title h1{font-size:clamp(58px,8.5vw,96px);text-transform:uppercase;line-height:.96;margin:14px 0 18px}.cover-title h1 span{display:block;font-size:.6em;line-height:1.1;letter-spacing:.02em}.cover-title>p:first-child{font-size:13px}.cover-instruction{font-size:12px;color:var(--muted)}#experience[data-scene=abertura] .scene-shade{background:linear-gradient(0deg,var(--bg) 5%,oklch(.145 0 0/.86) 19%,transparent 58%,oklch(.145 0 0/.6))}#experience[data-scene=abertura] .film-frame{inset:0 0 60px}#experience[data-scene=abertura] .film-progress{visibility:hidden}#experience[data-scene=abertura] .film-controls{grid-template-columns:1fr}#experience[data-scene=abertura] .next-control{justify-self:center}#experience[data-scene=abertura] #previous-scene{display:none}
.scene-caption{position:absolute;left:var(--edge);bottom:calc(var(--footer) + 9vh);max-width:min(31vw,410px)}.scene-caption p{font-size:14px;line-height:1.65;margin-top:20px;max-width:34ch;color:var(--muted)}.scene-caption .text-button{margin-top:12px;font-size:12px}#experience.has-media:not([data-scene=abertura]) .film-frame{left:27%;right:2%}#experience.has-media:not([data-scene=abertura]) .scene-shade{background:linear-gradient(0deg,var(--bg),transparent 26%,transparent 85%,oklch(.145 0 0/.5))}.scene-ending .scene-caption h2,.scene-after .scene-caption h2{font-size:clamp(40px,5vw,72px)}
.scene-intertitle,.scene-snack,.scene-game,.scene-letter,.scene-finale{display:flex;align-items:center;justify-content:center;background:var(--bg)}.intertitle{text-align:center;max-width:900px}.intertitle>p:first-child{font-size:14px;color:var(--muted);margin-bottom:24px}.intertitle h2{font-size:clamp(50px,7.5vw,96px);line-height:1.04}.intertitle h2 span{color:oklch(.75 0 0)}.intertitle .punchline{font-size:14px;margin-top:24px;color:var(--muted)}.snack-content{text-align:center}.snack-content>p{color:var(--muted);margin-top:18px}.snack-choices{display:flex;gap:20px;justify-content:center;margin:30px auto}.snack-choices button{display:flex;align-items:center;gap:14px;background:none;border:1px solid var(--line);border-radius:4px;padding:22px 26px;min-height:100px;font-size:18px}.snack-choices button>span{font-size:38px}.snack-choices button svg{height:40px;width:40px}.snack-choices button i{font-style:normal;font-size:20px;margin-left:12px}.snack-choices button.selected{background:var(--ink);color:var(--bg);border-color:var(--ink)}.game-status{font-size:13px!important;min-height:2em;color:var(--muted);margin-top:18px}.scene-game .dialog-content{padding:0!important;width:min(560px,100%);position:relative;text-align:center}.scene-game h2{font-size:clamp(36px,4vw,56px)}.dialog-eyebrow,.dialog-fish,.game-number,.peanut-scribble,.scene-date,.small-handwriting{display:none}.scene-game .dialog-content>p{color:var(--muted);margin:14px auto;max-width:45ch;font-size:13px}.memory-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:430px;margin:24px auto 14px}.memory-card{aspect-ratio:1.15;position:relative;border:0;background:none;padding:0;perspective:600px}.memory-inner{position:absolute;inset:0;transition:transform .45s;transform-style:preserve-3d}.memory-front,.memory-back{position:absolute;inset:0;backface-visibility:hidden;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:var(--surface)}.memory-front svg{width:35px;height:26px;stroke-width:1.2}.memory-back{transform:rotateY(180deg);background:var(--ink);color:var(--bg);font-size:10px}.memory-back svg{height:34px;width:34px}.flipped .memory-inner,.matched .memory-inner{transform:rotateY(180deg)}.matched .memory-back{background:oklch(.78 .045 210)}.memory-bottom{display:flex;align-items:center;justify-content:space-between;max-width:430px;margin:auto;font-size:12px;color:var(--muted)}.metro-content{max-width:650px;text-align:center}.metro-content>p{margin-top:18px;font-size:14px;color:var(--muted)}.metro-map{margin-top:32px}.metro-map>svg{width:min(100%,520px);height:auto}.metro-map path{stroke-width:4}.metro-line-gold{stroke:oklch(.75 .09 55)}.metro-line-blue{stroke:oklch(.72 .12 240)}.metro-stations circle{fill:var(--bg);stroke:var(--ink);stroke-width:2}#metro-position{stroke:none;fill:var(--ink);transition:cx .6s,cy .6s}.metro-map text{font:10px var(--body);stroke:none;fill:var(--muted)}#metro-question{display:block;margin:18px auto 0}#metro-answer{font-size:13px;color:var(--muted);min-height:2em}
.scene-painting .dialog-content{width:min(720px,100%)}.paint-stage{position:relative;width:min(520px,100%);aspect-ratio:1.5;margin:18px auto;overflow:hidden;background:var(--surface);touch-action:none}.paint-stage img,.paint-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.paint-stage canvas{z-index:1}.paint-stage.revealed canvas{opacity:0;pointer-events:none;transition:opacity .5s}#paint-hint{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:none;font-size:13px}#paint-hint svg{width:18px}.touched #paint-hint,.revealed #paint-hint{display:none}.painting-controls{display:flex;justify-content:center;gap:18px;align-items:center;font-size:12px}.outline-button{background:none;border:1px solid var(--line);border-radius:4px;padding:12px 18px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px}.outline-button:hover{border-color:var(--ink)}.outline-button svg{width:19px}.game-done{display:none}.scene-aquarium .scene-caption{bottom:calc(var(--footer) + 30px);max-width:260px}.scene-aquarium .scene-caption h2{font-family:var(--body);font-size:21px;line-height:1.4;font-weight:500;letter-spacing:0}.scene-aquarium .scene-caption p{display:none}.scene-aquarium .scene-caption .text-button{font-size:11px}#experience.has-media[data-scene=peixinhos] .film-frame{left:10%;right:10%}#experience.has-media[data-scene=peixinhos] .scene-shade{background:linear-gradient(0deg,var(--bg),transparent 25%)}.scene-film .scene-caption{max-width:28vw}
.peanut-scene{display:flex;gap:70px;align-items:center;width:min(950px,100%)}.peanut-copy{flex:1}.peanut-copy>p{font-size:13px;color:var(--muted);margin-top:18px}.peanut-attribution{margin-top:12px!important}.peanut-game{width:330px;text-align:center}.peanut-bowl{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;min-height:190px;align-items:center}.peanut-item{height:83px;width:54px;background:none;border:0;padding:4px}.peanut-item svg{width:100%;height:100%;fill:oklch(.62 .105 58);stroke:oklch(.37 .06 51);stroke-width:1.2;transform:rotate(var(--rotation));transition:transform .3s,opacity .3s}.peanut-item:hover svg{transform:rotate(var(--rotation)) scale(1.12)}.peanut-item.eaten{opacity:0;pointer-events:none}.peanut-item.survivor svg{fill:oklch(.8 .08 68)}.bowl-rim,.bowl-bottom{display:none}.peanut-game-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:12px}.peanut-game .game-status{min-height:4em}.scene-letter .letter-content{width:min(570px,100%)}.letter-body p{font-size:14px;line-height:1.8;margin:0 0 14px;color:oklch(.85 0 0)}.letter-body .letter-salutation{font-family:var(--display);font-size:42px;line-height:1;margin-bottom:22px;color:var(--ink)}.letter-body .letter-signature{margin-top:24px;font-size:13px}.letter-signature span{display:block;color:var(--muted)}.letter-body .letter-ps{font-family:var(--display);font-size:26px;line-height:1.1;color:var(--ink)}.letter-links{display:flex;gap:24px;font-size:11px;color:var(--muted);margin-top:20px}
.finale-content{text-align:center;width:min(860px,100%)}.finale-content>p{color:var(--muted);font-size:13px;margin-top:18px}.finale-content h2{font-size:clamp(44px,6vw,72px)}#final-watch{margin:30px auto 0}.final-video-wrap{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative}#final-film{width:100%;height:100%;object-fit:contain}#final-status{position:absolute;bottom:0;left:0;right:0;font-size:12px;text-align:center;color:var(--muted);background:var(--bg);padding:10px}.final-retry{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:oklch(.145 0 0/.85)}
 dialog{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:0;width:min(720px,calc(100% - 28px));max-height:calc(100dvh - 28px);overscroll-behavior:contain}dialog::backdrop{background:oklch(.1 0 0/.95)}.dialog-content{padding:44px;position:relative}dialog h2{font-size:44px;padding-right:30px}dialog p{font-size:13px;color:var(--muted);margin-top:16px}.dialog-close{position:absolute;right:14px;top:14px;width:44px;height:44px;display:grid;place-items:center;background:none;border:0;border-radius:50%;z-index:2}.dialog-close:hover{background:var(--surface)}.credits-list{margin-top:30px}.credits-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.credits-list dt{color:var(--muted)}.credits-list dd{margin:0;text-align:right;max-width:60%}.art-credit{font-size:10px!important}.art-credit a{color:inherit}.dialog-continue{font-size:12px;margin-top:20px}.album-dialog{width:min(850px,calc(100% - 24px))}.album-dialog .dialog-content{padding:30px 38px 16px}.album-dialog h2{font-size:28px}.album-stage{height:min(65dvh,650px);display:flex;align-items:center;justify-content:center;margin:18px 0 8px}.album-stage img,.album-stage video{max-width:100%;max-height:100%;object-fit:contain}.album-navigation{display:flex;align-items:center;justify-content:space-between;font-size:12px}.album-navigation .outline-button{width:48px;padding:10px;border:0}.album-navigation #album-previous svg{transform:rotate(180deg)}#album-caption{font-size:11px;text-align:center;margin:4px 0}.photos-dialog{width:min(900px,calc(100% - 24px))}.album-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.album-tabs button{border:1px solid var(--line);background:none;padding:10px 16px;font-size:11px;min-height:44px;border-radius:3px}.album-tabs button[aria-pressed=true]{color:var(--bg);background:var(--ink);border-color:var(--ink)}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.photo-grid button{position:relative;padding:0;border:0;background:var(--surface);aspect-ratio:.75;overflow:hidden}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.photo-grid button:hover img{transform:scale(1.04)}.photo-grid .video-mark{position:absolute;bottom:8px;right:8px;background:var(--bg);padding:4px 8px;font-size:10px}.toast{position:fixed;z-index:20;bottom:120px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:16px 24px;width:max-content;max-width:calc(100% - 32px);font-size:13px;transition:opacity .25s,transform .25s;border-radius:4px}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript-note{position:fixed;inset:0;z-index:30;background:var(--bg);display:grid;place-items:center;padding:40px;text-align:center}
@media(max-width:700px){:root{--header:62px;--footer:105px;--edge:22px}.film-header{gap:12px;font-size:10px}.film-header>p{max-width:52%;line-height:1.5}.header-actions{gap:16px}.header-actions button{font-size:10px}.sound-toggle{gap:0}.sound-toggle span{display:none}.sound-toggle svg{width:19px;height:19px}.film-controls{grid-template-columns:44px 1fr;gap:10px 18px;padding:12px var(--edge) max(18px,env(safe-area-inset-bottom));min-height:var(--footer)}.film-progress{grid-row:1;grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:10px}.film-progress>span{width:74px;text-align:left}.progress-track{margin:0;flex:1}.previous-control{grid-row:2;grid-column:1;min-height:48px}.previous-control span{display:none}.next-control{grid-row:2;grid-column:2;width:100%;min-height:48px;padding:12px 16px;font-size:12px;justify-content:space-between}.next-control svg{width:18px}#experience[data-scene=abertura] .film-controls{display:flex;justify-content:center}#experience[data-scene=abertura] .next-control{width:min(310px,100%)}#experience[data-scene=abertura] .film-progress{display:none}.cover-title{bottom:calc(var(--footer) + 28px)}.cover-title h1{font-size:clamp(56px,12.8vw,86px);line-height:.98;margin:12px 0 16px}.cover-title h1 span{font-size:.57em}.cover-title>p:first-child{font-size:11px}.cover-instruction{font-size:11px;max-width:24ch;margin:auto}#experience[data-scene=abertura] .film-frame{inset:0 0 100px}#experience[data-scene=abertura] .film-frame img{object-fit:cover;object-position:center 28%}#experience[data-scene=abertura] .scene-shade{background:linear-gradient(0deg,var(--bg) 14%,oklch(.145 0 0/.9) 29%,transparent 63%,oklch(.145 0 0/.6))}#experience.has-media:not([data-scene=abertura]) .film-frame{inset:var(--header) 0 calc(var(--footer) + 145px)}.scene-caption{left:var(--edge);right:var(--edge);bottom:calc(var(--footer) + 13px);max-width:none;text-align:left}.scene-caption h2,.scene-ending .scene-caption h2,.scene-after .scene-caption h2{font-size:clamp(31px,8.5vw,42px);line-height:1.05}.scene-caption p{font-size:12px;line-height:1.6;margin-top:10px;max-width:40ch}.scene-caption .text-button{font-size:11px;margin-top:4px;min-height:36px}#experience.has-media:not([data-scene=abertura]) .scene-shade{background:linear-gradient(0deg,var(--bg) calc(var(--footer) + 115px),transparent calc(var(--footer) + 180px))}.intertitle>p:first-child{font-size:12px;margin-bottom:24px}.intertitle h2{font-size:clamp(50px,13.5vw,76px)}.intertitle .punchline{font-size:12px;max-width:28ch;margin:24px auto 0}.snack-content h2{font-size:44px}.snack-content>p{font-size:12px}.snack-choices{gap:10px;margin:24px 0}.snack-choices button{flex-direction:column;gap:8px;min-width:125px;padding:16px;font-size:13px}.snack-choices button i{margin:0;font-size:16px}.snack-choices button>span{font-size:32px}.snack-choices button svg{height:36px}.game-status{font-size:11px!important}.scene-game h2{font-size:36px}.scene-game .dialog-content>p{font-size:11px;margin:12px auto}.memory-board{gap:9px;margin:20px auto 8px;max-width:320px}.memory-card{aspect-ratio:1.15}.memory-front svg{width:30px}.memory-back{font-size:9px}.memory-bottom{font-size:10px}.metro-content h2{font-size:39px}.metro-content>p{font-size:12px}.metro-map{margin-top:22px}.metro-map>svg{max-height:150px}.painting-controls{gap:10px;font-size:10px}.painting-controls .outline-button{font-size:10px;padding:8px 12px}.painting-controls .outline-button svg{display:none}.paint-stage{aspect-ratio:1.35;max-width:420px;margin:14px auto}.scene-painting h2{font-size:36px}.scene-game.scene-painting .game-status{font-size:10px!important}.scene-film .scene-caption{max-width:none}.scene-aquarium .scene-caption{bottom:calc(var(--footer) + 10px)}.scene-aquarium .scene-caption h2{font-size:19px!important;line-height:1.35}.scene-aquarium .scene-caption h2 br{display:none}#experience.has-media[data-scene=peixinhos] .film-frame{inset:var(--header) 0 calc(var(--footer) + 80px)}#experience.has-media[data-scene=peixinhos] .scene-shade{background:linear-gradient(0deg,var(--bg) calc(var(--footer) + 60px),transparent calc(var(--footer) + 100px))}.peanut-scene{flex-direction:column;gap:12px;text-align:center}.peanut-copy{flex:initial}.peanut-copy h2{font-size:36px}.peanut-copy>p{font-size:11px;margin-top:8px}.peanut-copy>p:last-of-type{display:none}.peanut-game{width:min(310px,100%)}.peanut-bowl{gap:6px;min-height:140px}.peanut-item{height:65px;width:48px;justify-self:center}.peanut-game-footer{margin-top:3px;font-size:10px}.peanut-game .game-status{min-height:3em;margin-top:4px}.letter-body p{font-size:12px;line-height:1.7;margin-bottom:12px}.letter-body .letter-salutation{font-size:36px;margin-bottom:18px}.letter-body .letter-signature{margin-top:15px;font-size:11px}.letter-body .letter-ps{font-size:24px}.letter-links{font-size:10px;margin-top:10px;gap:20px}.dialog-content{padding:52px 22px 24px}.album-dialog .dialog-content{padding:52px 16px 14px}.album-dialog h2{font-size:24px}.album-stage{height:56dvh}.photo-grid{grid-template-columns:repeat(3,1fr)}.album-tabs{gap:6px}.album-tabs button{padding:8px 10px;font-size:9px}.photos-dialog h2{font-size:34px}.finale-content h2{font-size:42px}.finale-content>p{font-size:12px}}
@media(max-height:680px) and (max-width:700px){:root{--header:52px;--footer:96px;--edge:18px}.cover-title{bottom:calc(var(--footer) + 12px)}.cover-title h1{font-size:58px}.cover-instruction{display:none}.film-header{padding-top:4px;padding-bottom:4px}.film-controls{padding-top:8px;padding-bottom:12px;gap:6px 16px}.next-control{min-height:46px}.scene-caption h2,.scene-ending .scene-caption h2,.scene-after .scene-caption h2{font-size:30px}.scene-caption p{font-size:11px;margin-top:8px}.scene-caption{bottom:calc(var(--footer) + 10px)}#experience.has-media:not([data-scene=abertura]) .film-frame{bottom:calc(var(--footer) + 133px)}.scene-game h2,.peanut-copy h2{font-size:31px}.scene-game .dialog-content>p{font-size:10px}.memory-board{max-width:265px;gap:7px;margin:14px auto 2px}.memory-card{aspect-ratio:1.3}.memory-back svg{width:25px;height:25px}.memory-front svg{width:24px}.memory-bottom{max-width:265px}.scene-memory .game-status{margin-top:4px}.paint-stage{max-height:190px;width:min(100%,340px);aspect-ratio:1.5}.painting-controls{gap:8px}.painting-controls .text-button{font-size:9px}.painting-controls .outline-button{font-size:9px;min-height:42px}.scene-painting .game-status{margin-top:6px}.intertitle h2{font-size:55px}.intertitle>p:first-child{margin-bottom:16px;font-size:11px}.intertitle .punchline{margin-top:18px;font-size:11px}.snack-content h2{font-size:38px}.snack-choices{margin:18px 0}.snack-content>p{font-size:11px}.metro-content h2{font-size:34px}.metro-map{margin-top:16px}.metro-map>svg{max-height:115px}#metro-question{margin-top:6px}#metro-answer{font-size:11px}.peanut-scene{gap:6px}.peanut-bowl{min-height:120px}.peanut-item{height:57px;width:42px}.peanut-game-footer .text-button{min-height:34px}.peanut-game .game-status{font-size:10px!important}.letter-body p{font-size:11px;line-height:1.6;margin-bottom:10px}.letter-body .letter-salutation{font-size:31px;margin-bottom:14px}.letter-body .letter-signature{font-size:10px;margin-top:12px}.letter-links{margin-top:0}.letter-links .text-button{min-height:30px}.letter-body .letter-ps{font-size:21px}}
@media(max-height:520px) and (min-width:701px){:root{--header:48px;--footer:76px}.scene-game h2{font-size:32px}.memory-board{max-width:290px;gap:7px;margin:12px auto 4px}.memory-card{aspect-ratio:1.6}.game-status{margin-top:6px}.paint-stage{max-height:170px;width:280px;margin:8px auto}.scene-caption{bottom:calc(var(--footer) + 10px)}.scene-caption h2{font-size:40px}.film-controls{padding-top:8px;padding-bottom:10px}.letter-body p{font-size:11px;line-height:1.5;margin-bottom:8px}.letter-body .letter-salutation{font-size:30px;margin-bottom:12px}.letter-body .letter-signature{margin-top:10px}.letter-links{margin-top:0}.cover-title h1{font-size:64px}.cover-title{bottom:calc(var(--footer) + 10px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.sound-toggle{min-width:44px;justify-content:center}.sound-toggle[aria-pressed=true] .sound-off{display:none}

/* A massagem tem personagens e responde diretamente ao toque. */
.massage-scene{display:flex;align-items:center;justify-content:center;gap:32px;width:min(960px,100%)}
.massage-visual{position:relative;flex:0 1 470px;aspect-ratio:1;display:block;padding:0;border:0;background:none;touch-action:none;user-select:none;isolation:isolate}
.massage-visual img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity .65s,transform .45s}
.massage-asleep{opacity:0}.is-sleeping .massage-asleep{opacity:1}.is-sleeping .massage-awake{opacity:0}
.massage-visual.is-massaging:not([aria-disabled=true]) img{transform:translateY(3px)}
.massage-touch-cue{position:absolute;left:0;right:0;bottom:4%;font-size:11px;color:var(--muted);text-align:center;pointer-events:none}
.massage-copy{flex:0 1 350px;max-width:350px}.massage-copy>p{font-size:13px;margin-top:16px;color:var(--muted)}
.massage-action{margin-top:24px;min-width:245px;user-select:none}.massage-action[aria-disabled=true]{border-color:transparent;cursor:default}
.massage-visual[aria-disabled=true]{cursor:default}.massage-copy .interaction-hint{font-size:11px;line-height:1.7;margin-top:14px}
.massage-copy progress{display:block;appearance:none;-webkit-appearance:none;border:0;background:var(--surface);width:245px;height:3px;margin-top:22px;border-radius:0;overflow:hidden}
.massage-copy progress::-webkit-progress-bar{background:var(--surface)}.massage-copy progress::-webkit-progress-value{background:var(--ink)}.massage-copy progress::-moz-progress-bar{background:var(--ink)}
.massage-copy .game-status{font-size:12px!important;min-height:2em;margin-top:14px}#massage-reset{font-size:11px;margin-top:0}
@media(max-width:700px){.massage-scene{flex-direction:column;gap:0;text-align:center}.massage-visual{flex:none;width:min(290px,100%);height:245px;aspect-ratio:auto}.massage-copy{flex:none;width:100%;max-width:340px}.massage-copy h2{font-size:35px}.massage-copy>p{font-size:11px;margin-top:10px}.massage-action{margin-top:16px;font-size:12px;min-width:230px}.massage-copy .interaction-hint{font-size:10px;margin-top:10px}.massage-copy progress{width:230px;margin:14px auto 0}.massage-copy .game-status{font-size:11px!important;margin-top:12px}.massage-touch-cue{bottom:1%;font-size:10px}#massage-reset{font-size:10px;min-height:36px}}
@media(max-width:700px) and (max-height:740px){.massage-visual{height:190px;width:220px}.massage-copy h2{font-size:30px}.massage-copy>p{margin-top:8px}.massage-action{margin-top:12px;min-height:44px}.massage-copy .interaction-hint{font-size:9px;margin-top:8px}.massage-copy progress{margin-top:10px}.massage-copy .game-status{font-size:10px!important;margin-top:8px}}
@media(max-width:700px) and (max-height:620px){.massage-visual{height:145px;width:180px}.massage-copy h2{font-size:27px}.massage-copy h2 br{display:none}.massage-copy>p{font-size:10px;margin-top:6px}.massage-action{margin-top:10px;min-height:42px;font-size:11px}.massage-copy .interaction-hint{font-size:9px;line-height:1.5;margin-top:6px}.massage-copy progress{margin-top:8px}.massage-copy .game-status{min-height:1.7em;margin-top:8px}#massage-reset{min-height:30px}.massage-touch-cue{font-size:9px}}
@media(min-width:701px) and (max-height:600px){.massage-visual{flex-basis:320px;max-height:300px}.massage-copy h2{font-size:38px}.massage-copy>p{margin-top:10px}.massage-action{margin-top:12px}.massage-copy progress{margin-top:10px}.massage-copy .interaction-hint{margin-top:8px}.massage-copy .game-status{margin-top:8px}}

.massage-gesture-help{display:block}@media(max-width:700px) and (max-height:620px){.massage-copy>p:not(.interaction-hint):not(.game-status),.massage-gesture-help{display:none}}
