@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{color-scheme:dark;--wine:#64263a;--ink:#452432;--muted:#795762;--paper:#f0e1d4}*{box-sizing:border-box}body{margin:0;min-height:100svh;font:16px/1.65 'DM Sans',sans-serif;color:#ddc1c7;background:radial-gradient(ellipse at 50% 45%,#45202d,#1c1117 55%,#100d10)}header{text-align:center;font-size:13px;font-weight:600;letter-spacing:3px;padding:24px 20px}header span{font-weight:400;color:#aa828f;margin-left:10px}main{padding:14px 24px 0;max-width:640px;margin:auto}.book{position:relative;perspective:1800px;isolation:isolate;filter:drop-shadow(0 22px 25px #0006)}.book:before{content:'';position:absolute;inset:5px -7px -6px 8px;border-radius:3px 9px 9px 3px;background:repeating-linear-gradient(to bottom,#c8b2a5 0px,#c8b2a5 1px,#e4d3c5 1px,#e4d3c5 3px);border:1px solid #6c3e4c;z-index:-1}.page{position:relative;display:flex;flex-direction:column;min-height:680px;padding:38px 42px 22px;color:var(--ink);background:linear-gradient(90deg,#c6ad9c 0,#e7d5c4 3%,var(--paper) 10%,#f4e9dd 90%,#e9d7c8);border:1px solid #b19082;border-radius:3px 7px 7px 3px;transform-origin:0 50%;backface-visibility:hidden}.page[hidden]{display:none}.page-body{flex:1}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:#8b5263;margin:0 0 24px}h1,h2{font-family:'Playfair Display',Georgia,serif;line-height:1.15;font-weight:500;letter-spacing:-1px;margin:20px 0 26px;font-size:clamp(36px,6vw,54px)}h1{font-size:44px}h1 em,h2 em{color:#943d57}p{margin:18px 0}.handwritten{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:20px;color:#88425a}.small{font-size:12px;color:var(--muted)}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:30px;padding-top:18px;border-top:1px solid #9c687936;font-size:11px;letter-spacing:1px}.page-footer button{font-size:13px;padding:8px 0}.page-footer>span:last-child{font-size:10px}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #ad506f;outline-offset:5px}h1:focus,h2:focus{outline:none}.primary{display:block;width:100%;padding:15px 12px;background:var(--wine);color:#fff0e8;font-size:14px;margin-top:22px;border:1px solid transparent;transition:background .2s}.primary:hover{background:#81314c}.secondary{display:block;width:100%;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:14px 6px}.cover,.ending{text-align:center}.cover{color:#f8dfd2;background:linear-gradient(100deg,#2b111d,#64263a 50%,#421a2b);border-color:#9d6672;box-shadow:inset 8px 0 14px #0006}.cover:after{content:'';position:absolute;inset:14px;border:1px solid #d7a68b55;pointer-events:none}.cover .page-body{display:flex;flex-direction:column;align-items:center;justify-content:center}.cover h1{margin:12px 0 20px}.cover h1 em{color:#edbaab}.cover .eyebrow,.cover .small{color:#d4a8af}.cover .primary{max-width:310px;background:#e6bbac;color:#391324}.cover .primary:hover{background:#f4d3c7}.cover .page-footer{color:#d4a8af}.cover-note{margin-top:24px!important}.mark{display:block;font-size:38px;color:#b87a65;margin:18px 0}.rule{height:1px;background:#ab736b;width:50px;margin:18px auto}.cover p{margin:10px 0}fieldset{border:0;padding:0;margin-top:26px;min-width:0}legend{font-size:13px;color:var(--muted);margin-bottom:8px}.choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #b486955e;padding:17px 14px;margin:12px 0;cursor:pointer}.choice:has(input:checked){border-color:#89344f;background:#a3506a10;box-shadow:inset 3px 0 #89344f}.choice input{accent-color:var(--wine);margin-top:6px;flex-shrink:0;width:16px;height:16px}.choice strong{font-size:16px;font-weight:500}.choice small{display:block;font-size:14px;margin-top:5px;color:var(--muted)}dl{margin:24px 0;border-top:1px solid #9c687936}dl>div{display:grid;grid-template-columns:74px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #9c687936}dt{font-size:11px;letter-spacing:1px;color:#946072}dd{margin:0;font-size:14px}.ending .page-body{display:flex;flex-direction:column;justify-content:center}.reading-status{text-align:center;color:#c19daa;font-size:12px;margin:24px 0 10px}body>footer{text-align:center;font-size:10px;letter-spacing:2px;color:#a88491;padding:16px 20px 26px}.turning{position:absolute;inset:0;z-index:3;pointer-events:none;animation:turn-forward .7s cubic-bezier(.3,.1,.2,1) forwards}.turning.backwards{animation:turn-back .7s cubic-bezier(.3,.1,.2,1) forwards}.book.busy{pointer-events:none}@keyframes turn-forward{from{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(-100deg);filter:brightness(.65)}}@keyframes turn-back{from{transform:rotateY(-100deg);filter:brightness(.65)}to{transform:rotateY(0);filter:brightness(1)}}@media(max-width:600px){header{font-size:11px;letter-spacing:2px;padding:20px 10px}header span{margin-left:5px}main{padding:6px 20px 0}.page{padding:30px 25px 18px;min-height:620px}h1{font-size:36px}h2{font-size:40px}.eyebrow{font-size:10px;letter-spacing:1.4px}.page-footer{gap:6px}.page-footer button{font-size:12px}.choice{padding:14px 12px}.cover .primary{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.final-reply{border-top:1px solid #9c687936;margin-top:18px;padding-top:4px}.final-reply[hidden]{display:none}.final-answers button[aria-pressed="true"]{outline:2px solid #943d57;outline-offset:3px}.page-footer>span{white-space:nowrap}
/* Dark romance: encadernação preta, páginas de carvão e detalhes rubi. */
:root{--wine:#751e36;--ink:#eadfdb;--muted:#b29a9f;--paper:#21181d}
body{background:radial-gradient(ellipse at 50% 32%,#401322 0%,#160d13 42%,#09080b 80%);color:#d8bec4}
header{color:#dab9b3;letter-spacing:4px}header span{color:#b68e98}
.book{filter:drop-shadow(0 28px 42px #000b)}
.book:before{background:repeating-linear-gradient(to bottom,#3c2a30 0px,#3c2a30 1px,#76605d 1px,#4b343b 3px);border-color:#7b454e}
.page{background:linear-gradient(90deg,#09080b 0%,#160f14 3%,#25191e 9%,#21181d 88%,#160f14 100%);border-color:#75505b;box-shadow:inset 9px 0 15px #0007;border-radius:2px 5px 5px 2px;padding-top:46px}
.page:after{content:'';position:absolute;inset:13px;border:1px solid #b57a7430;pointer-events:none}
.page-body{position:relative;z-index:1}.page-body>p:not(.eyebrow):not(.handwritten):not(.small){color:#d0bec0;line-height:1.85}
.eyebrow{color:#d294a2;letter-spacing:2.5px;font-size:12px;border-bottom:1px solid #a86c793d;padding-bottom:17px;margin-bottom:30px}
h1,h2{font-family:'Playfair Display',Georgia,serif;color:#f0e3db;line-height:1.2;letter-spacing:-1.5px;text-wrap:balance}h2{font-size:clamp(38px,6vw,55px)}h1 em,h2 em{color:#dc8fa3}
.handwritten{color:#dea0ae;font-size:21px;border-left:1px solid #9d4a61;padding-left:17px;margin-top:30px}
.page-footer{border-color:#94667355;color:#d4b6bd;position:relative;z-index:1;letter-spacing:1.2px}.page-footer button:hover{color:#fff1e9}.page-footer>span{color:#c28c9b}.page-footer button{min-height:44px}
.cover{background:radial-gradient(ellipse at 50% 30%,#491b2b55,transparent 60%),linear-gradient(100deg,#060609 0%,#1a1119 8%,#20121b 50%,#100c11 100%);border-color:#9a6770;box-shadow:inset 9px 0 13px #000b,inset 12px 0 0 #a3686940}
.cover:after{inset:16px;border:1px solid #ae817469;box-shadow:inset 0 0 0 4px #120d12,inset 0 0 0 5px #9b6a653b}
.cover .eyebrow{border:0;color:#d0a79e;letter-spacing:3px;font-size:11px}.cover h1{font-size:clamp(38px,6vw,49px);max-width:420px;margin:20px 0}.cover h1 em{display:block;color:#e0a6ad;font-size:1.13em;margin-top:7px}.cover .small{color:#b896a1}.cover .page-footer{color:#c19b98}.cover .primary,.primary{background:linear-gradient(110deg,#611629,#8c2944);color:#fff0e8;border:1px solid #b65d7370;box-shadow:0 6px 18px #0003;letter-spacing:.5px}.cover .primary:hover,.primary:hover{background:#99354e;border-color:#df9aa8}.mark{color:#d6a496;font-size:40px;text-shadow:0 0 25px #b34b6b44}.rule{background:linear-gradient(90deg,transparent,#be877e,transparent);width:110px}.small{color:#bda4ac}.secondary{color:#d2b8bf}.secondary:hover{color:#fff0ea}dl,dl>div,.final-reply{border-color:#a7738038}dt{color:#dba0af}dd{color:#e6d2d6}.final-answers button[aria-pressed="true"]{outline-color:#e2a1b5}.final-reply{background:#84314b12;padding:10px 16px}.final-reply .handwritten{margin-top:14px}.reading-status{color:#c29eaa}body>footer{color:#b18794;font-size:11px;letter-spacing:2.5px}button:focus-visible{outline-color:#f0b0c3}
@media(max-width:600px){.page{padding:34px 28px 18px}.cover h1{font-size:36px}.eyebrow{font-size:11px;letter-spacing:1.5px}.handwritten{font-size:19px}h2{font-size:38px}.cover .eyebrow{letter-spacing:1.8px}}

.whatsapp-link{text-align:center;text-decoration:none}.whatsapp-link:focus-visible{outline:2px solid #f0b0c3;outline-offset:5px}
/* Despedida antes da conversa: fechamento do livro e revelação da mensagem. */
.leaving-book .book{animation:close-invitation 1.1s cubic-bezier(.3,.1,.2,1) forwards;pointer-events:none}
.farewell{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;padding:28px;background:transparent;color:#f0e3db;overflow:auto;text-align:center}
.farewell[open]{display:grid;place-items:center}.farewell::backdrop{background:#09080be8;animation:farewell-shade 1s ease both}
.farewell-content{max-width:600px;margin:auto;animation:farewell-reveal 1s ease .4s both}.farewell .eyebrow{border:0;margin-bottom:28px}.farewell h2{font-size:clamp(34px,7vw,58px);margin:18px 0 28px}.farewell-content>p:not(.eyebrow){color:#cbaab5}.farewell-line{display:block;width:90px;height:1px;margin:32px auto;background:linear-gradient(90deg,transparent,#d69aa8,transparent);transform-origin:center;animation:farewell-line 1.5s ease .4s both}.farewell-actions{max-width:340px;margin:24px auto 0}.farewell-actions[hidden]{display:none}.farewell-actions a{text-decoration:none}.farewell-actions a:focus-visible{outline:2px solid #f0b0c3;outline-offset:5px}
@keyframes close-invitation{to{transform:perspective(1600px) rotateY(-75deg) scale(.92);opacity:0}}@keyframes farewell-shade{from{background:#09080b00}to{background:#09080be8}}@keyframes farewell-reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes farewell-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.leaving-book .book{animation:none}.farewell-content,.farewell::backdrop,.farewell-line{animation:none}}
