/* Um livro de lembranças em cacau, papel e luz. */
:root{--forest:#39251d;--forest2:#674735;--paper:#fff3da;--ink:#493024;--gold:#dbb66d;--moss:#87917c}
.layout{background:radial-gradient(ellipse at 10% 20%,#77533b66,transparent 40%),radial-gradient(ellipse at 95% 85%,#9c775426,transparent 40%),#2c1c16}
.experience{border-inline:1px solid #dcb87f26;box-shadow:0 0 100px #130c0870}
.grain{opacity:.17}
.desktop-aside{color:#ecd9b8}.aside-mark{letter-spacing:.08em}.aside-dash{background:#c8a96b}.aside-body small,.aside-foot{color:#bba48c}.right-aside-decoration{color:#dfbb76;animation:lantern-breathe 7s ease-in-out infinite}
.topbar{border-color:#e9cf9b35}.brand{letter-spacing:.04em}.star{color:#dfb96d}
.cover{background:radial-gradient(ellipse at 40% 26%,#806047,#39251d 70%)}
.cover-art{margin:16px 18px 0;border:1px solid #e4bf7e55;border-radius:48% 48% 5px 5px;box-shadow:0 0 0 6px #e4bf7e0c;overflow:hidden}
.cover-art img{object-fit:contain}.cover-shade{background:linear-gradient(180deg,#39251d05,transparent 68%,#39251d 100%)}
.cover-copy h1{color:#fff2d8;text-shadow:0 3px 25px #21130b66}.cover-copy h1 em{color:#e4c38a}.cover-copy p{color:#ebd9bd}.cover-note{color:#d2bfa5}
.primary-button{background:#ecd3a3;border:1px solid #f8e8c3;box-shadow:0 4px 0 #986c43,0 12px 30px #170e0840;border-radius:7px 22px 7px 22px;transition:transform .3s,box-shadow .3s}
.primary-button:hover{background:#ffe7b7;transform:translateY(-3px);box-shadow:0 7px 0 #986c43,0 16px 30px #170e0840}
.cover-sparkles span{color:#ffe5a3;text-shadow:0 0 15px #efc96c80}
.album{background:radial-gradient(ellipse at 0 15%,#a0784b16,transparent 48%),repeating-linear-gradient(0deg,#68472703 0 1px,transparent 1px 5px),#f4e7cd}
.album-head .eyebrow{color:#80623d}.album-head h2{color:#4d3325}.album-head h2 i{color:#916948}.progress-wrap{font-variant-numeric:tabular-nums;color:#806243}
.progress-track{height:3px;background:#d9c6a5}.progress-track div{background:linear-gradient(90deg,#6b4934,#c09a5b);transition:width .6s ease}
.photo-stage{border:1px solid #9c744e40;border-radius:3px;background:#dbc6a5;padding:13px;box-shadow:0 1px 0 #fff9e6,0 14px 35px #51331b20;overflow:hidden}
.photo-stage:after{content:'';position:absolute;inset:7px;border:1px solid #fff4d685;pointer-events:none;z-index:3}
.photo-backdrop{opacity:.13;filter:blur(35px) sepia(.2)}
.photo-frame img{max-height:100%;border:5px solid #fff7e8;box-shadow:0 5px 17px #49301e35;transition:opacity .26s ease,transform .55s cubic-bezier(.2,.65,.3,1);transform:translateY(0) rotate(-.4deg)}
.photo-frame img.changing{opacity:0;transform:translateY(12px) rotate(1deg) scale(.98)}
.quote-area{padding:22px 8px 12px;transition:opacity .26s,transform .4s}.quote-area.changing{opacity:0;transform:translateY(8px)}
.quote-deco{color:#a17b43;font-size:24px}.quote{color:#563b2b;line-height:1.65;font-size:clamp(18px,4.6vw,21px);text-wrap:pretty}
.next-button{background:#63432f;border:1px solid #9f7d51;border-radius:5px 18px 5px 18px;min-height:48px}.next-button:hover{background:#795438}.icon-button{background:#fff8e68c;border-color:#c6ad86}.navigation-hint{color:#806b50}
.letter-intro{background:radial-gradient(ellipse at 50% 45%,#95684144,transparent 50%),#352219}
.letter-intro:before{content:'';position:absolute;width:300px;height:300px;border:1px solid #d7b26e30;border-radius:50%;box-shadow:0 0 0 17px #d7b26e08,0 0 0 70px #d7b26e05;pointer-events:none}
.letter-intro h2 em{color:#e3c286}.float-star{color:#dfbe7b;animation:lantern-breathe 6s ease-in-out infinite}.star-b{animation-delay:-3s}
.envelope-button{margin-inline:auto;min-height:170px;justify-content:center;perspective:800px}.envelope{width:185px;height:120px;background:#e2c393;border:1px solid #bb9662;box-shadow:0 20px 40px #170d0860;transform:rotate(-5deg);isolation:isolate}
.envelope:before{content:'';position:absolute;left:12%;right:12%;top:10%;height:82%;background:repeating-linear-gradient(#fff4d9 0 15px,#dbc9a4 16px,#fff4d9 17px);border:1px solid #d5bb8d;z-index:-1;transition:transform .7s .3s,opacity .7s .3s}
.envelope-flap{background:#efd7aa;transform-origin:top;transition:transform .65s,opacity .5s;backface-visibility:hidden}.envelope-heart{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#86513b;color:#edce95;font-size:17px;box-shadow:0 2px 4px #452b1b60;transition:opacity .25s}
.envelope-button.opening .envelope{transform:rotate(0) translateY(8px)}.envelope-button.opening .envelope-flap{transform:rotateX(180deg);opacity:0}.envelope-button.opening .envelope-heart{opacity:0}.envelope-button.opening .envelope:before{transform:translateY(-70px);opacity:0}.envelope-button:disabled{cursor:default}
.letter{background:radial-gradient(ellipse at top,#8e674334,transparent 60%),#d8c1a0}.letter-paper{background:repeating-linear-gradient(0deg,#8c6e4503 0 1px,transparent 1px 4px),#fff3db;border:1px solid #cdb17e;border-radius:2px 2px 10px 2px;box-shadow:0 3px 0 #c8b18d,0 6px 0 #e9d7b6,0 20px 50px #39231330}.letter-decoration{color:#8c7050}.letter h2{color:#66462f}.letter-text p{color:#4c3526}
.page:not([hidden]){animation:chapter-arrive .8s cubic-bezier(.2,.65,.3,1) both}
.wind-lights{position:fixed;inset:0;pointer-events:none;z-index:7;overflow:hidden}.wind-lights i{position:absolute;bottom:-20px;width:3px;height:3px;border-radius:50%;background:#f3d18d;box-shadow:0 0 9px #f6cc7c;opacity:0;animation:drifting-light 19s linear infinite}.wind-lights i:nth-child(1){left:7%;animation-delay:-2s}.wind-lights i:nth-child(2){left:25%;animation-delay:-13s}.wind-lights i:nth-child(3){left:47%;animation-delay:-7s}.wind-lights i:nth-child(4){left:63%;animation-delay:-17s}.wind-lights i:nth-child(5){left:81%;animation-delay:-4s}.wind-lights i:nth-child(6){left:94%;animation-delay:-10s}
body[data-screen='album'] .wind-lights,body[data-screen='letter'] .wind-lights{opacity:.2}
@keyframes drifting-light{0%{opacity:0;transform:translate(0,0)}15%,65%{opacity:.65}100%{opacity:0;transform:translate(35px,-105vh)}}
@keyframes chapter-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes lantern-breathe{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:.8;transform:translateY(-7px)}}
@media(max-width:699px){.cover{min-height:max(850px,100dvh)}.cover-art{height:clamp(290px,43dvh,430px);top:65px}.cover-copy{padding-top:calc(65px + clamp(290px,43dvh,430px) + 35px);padding-bottom:60px}.cover-copy h1{font-size:clamp(43px,11.4vw,62px)}.album{padding-inline:20px}.photo-stage{height:49dvh;min-height:280px}.quote-area{min-height:170px}.navigation-hint{max-width:92px}.letter-paper{padding-inline:25px}}
@media(min-width:700px){.cover{min-height:max(990px,100dvh)}.cover-art{top:80px;height:450px;margin-inline:30px}.cover-copy{padding-top:560px;padding-bottom:65px}.cover-copy h1{font-size:61px}.photo-stage{height:470px}.quote-area{min-height:200px}.album{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.wind-lights{display:none}}
