:root{--ink:#272621;--paper:#fffdf7;--pink:#f0abc2;--blue:#bdd9ec;--yellow:#f8e484;--red:#be4262;--hand:'Caveat','Comic Sans MS',cursive;--sans:'DM Sans',sans-serif;--shadow:4px 5px 0 rgba(39,38,33,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px}body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23866f50' opacity='.2' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");z-index:20}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #3d6194;outline-offset:6px}a{color:inherit}.svg-library{position:absolute;width:0;height:0;overflow:hidden}svg{display:block}button,a{-webkit-touch-callout:default}[hidden]{display:none!important}.topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4.5%;background:rgba(255,253,247,.96);border-bottom:1px solid #27262126}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-family:var(--hand);font-size:27px;font-weight:700}.brand svg{width:27px;height:29px;color:var(--pink);transform:rotate(-13deg)}.language{display:flex;align-items:center;gap:8px;font-size:13px}.language button{border:0;background:transparent;padding:10px 8px;min-height:44px;border-radius:44% 50% 42% 40%}.language button[aria-pressed=true]{background:var(--yellow);font-weight:700;box-shadow:0 0 0 1.5px var(--ink);transform:rotate(-2deg)}.language span{opacity:.45}.cover{max-width:1120px;margin:0 auto;min-height:calc(100svh - 84px);padding:40px 24px 20px;text-align:center;overflow:hidden}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:2px}.cover-heading .eyebrow{display:block;transform:rotate(-3deg);margin-bottom:13px}.cover h1{font-family:var(--hand);font-weight:700;margin:0;font-size:clamp(50px,6.8vw,81px);line-height:.97;letter-spacing:-2px;transform:rotate(-2deg)}.cover h1 span:first-child{display:block;color:var(--pink);-webkit-text-stroke:1.3px var(--ink);paint-order:stroke fill;text-shadow:1.4px 2px 0 var(--ink)}.cover h1 span:last-child{display:block;font-size:.61em;line-height:1.5;letter-spacing:-.7px;font-weight:500}.envelope-scene{position:relative;width:min(680px,100%);height:330px;margin:26px auto 10px}.envelope{position:absolute;width:440px;height:255px;left:50%;top:16px;transform:translateX(-50%) rotate(-5deg);filter:drop-shadow(5px 9px 0 #27262115);perspective:900px}.envelope-base{position:absolute;inset:0;background:#f8e484;border:2.5px solid var(--ink);border-radius:4px 8px 7px 3px}.envelope-fold{position:absolute;inset:0;background:linear-gradient(32deg,transparent 49.5%,#b29c55 50%,transparent 50.5%),linear-gradient(-32deg,transparent 49.5%,#b29c55 50%,transparent 50.5%);opacity:.4}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:57%;background:#f5d96d;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .7s ease;z-index:3}.envelope-flap::after{content:'';position:absolute;inset:0;background:linear-gradient(33deg,transparent 49.2%,#272621 49.5%,#272621 50.3%,transparent 50.6%),linear-gradient(-33deg,transparent 49.2%,#272621 49.5%,#272621 50.3%,transparent 50.6%)}.envelope-front{position:absolute;inset:0;z-index:4;pointer-events:none}.envelope-address{position:absolute;left:32px;bottom:28px;text-align:left;font-family:var(--hand);font-size:32px;line-height:1.1;transform:rotate(2deg)}.envelope-address small{display:block;font-size:23px;margin-top:5px}.envelope-address svg{width:215px;height:12px}.postage{position:absolute;right:21px;top:20px;width:66px;height:80px;border:2px dashed var(--ink);outline:4px solid #fffdf7;background:#fffdf7;transform:rotate(8deg);font-family:var(--hand);font-weight:700;font-size:16px}.postage svg{height:57px;width:58px;margin:auto;color:var(--pink)}.postmark{position:absolute;top:31px;right:93px;display:flex;flex-direction:column;justify-content:center;align-items:center;width:85px;height:85px;border:2px double #715c3d;border-radius:50%;font:12px var(--sans);letter-spacing:1px;transform:rotate(-18deg);opacity:.66}.postmark span+span{margin-top:5px;font-size:20px}.seal{position:absolute;top:103px;left:calc(50% - 23px);width:49px;height:49px;color:var(--pink);z-index:6;transform:rotate(8deg);transition:opacity .3s}.envelope-letter{position:absolute;left:7%;width:86%;height:86%;background:#fffdf7;border:2px solid var(--ink);top:14px;transition:transform .8s ease .2s;z-index:0;font:26px var(--hand);padding:28px}.envelope-letter svg{width:50px;height:50px;margin:15px auto;color:var(--pink)}.opening .envelope-flap{transform:rotateX(175deg);z-index:0}.opening .envelope-letter{transform:translateY(-80px)}.opening .seal{opacity:0}.doodle{position:absolute}.cover-flower{left:17px;top:55px;width:86px;height:86px;color:var(--pink);transform:rotate(-15deg)}.cover-spark{right:10px;top:2px;width:48px;height:65px;color:var(--yellow);transform:rotate(13deg)}.cover-bird{right:0;bottom:5px;width:130px;height:110px;transform:rotate(6deg)}.hand-note{position:absolute;left:78px;bottom:0;font-family:var(--hand);font-size:23px;transform:rotate(3deg);max-width:260px;line-height:1}.curly-arrow{position:absolute;left:13px;bottom:9px;width:65px;height:65px;transform:rotate(20deg)}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 22px;border:2px solid var(--ink);border-radius:5px 12px 6px 10px;font-family:var(--hand);font-size:24px;font-weight:700;text-decoration:none;line-height:1.1;box-shadow:3px 3px 0 var(--ink);transition:transform .18s,box-shadow .18s;background:var(--paper)}.button:hover:not(:disabled){transform:translate(-1px,-2px) rotate(-1deg);box-shadow:4px 5px 0 var(--ink)}.button:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.primary{background:var(--pink)}.secondary{background:var(--paper)}.open-button{transform:rotate(-2deg);padding:13px 32px;font-size:27px}.cover-footer,.reading-footer{font-family:var(--hand);font-size:19px;margin:26px 0 10px;opacity:.7}.reading{max-width:1190px;margin:0 auto;padding:36px 50px 15px}.reading-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.chapter-dots{display:flex;gap:3px}.chapter-dot{border:0;background:transparent;min-width:30px;min-height:36px;padding:9px}.chapter-dot::before{content:'';display:block;width:10px;height:10px;border:1.5px solid var(--ink);border-radius:43% 50% 40% 48%;background:transparent}.chapter-dot[aria-current=step]::before{background:var(--pink);transform:scale(1.35)}.chapter-dot.is-read::before{background:var(--yellow)}.letter-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:52px;align-items:start}.letter-paper{position:relative;background:#fffefc;padding:37px 42px 45px;border:1.5px solid var(--ink);border-radius:3px 6px 2px 8px;box-shadow:var(--shadow);min-width:0}.letter-paper::after{content:'';position:absolute;inset:8px -7px -7px 6px;border:1px solid #27262140;background:#fffefc;z-index:-1;transform:rotate(1deg)}.paper-hole{position:absolute;top:16px;left:19px;width:8px;height:8px;background:var(--paper);border:1px solid #27262140;border-radius:50%}.letter-paper h1{font:700 clamp(38px,4.3vw,58px)/1.02 var(--hand);margin:0 0 25px;letter-spacing:-.5px;max-width:650px;text-wrap:balance}.letter-paper h1::after{content:'';display:block;background:var(--yellow);height:9px;width:88px;transform:rotate(-3deg);margin-top:20px;border-radius:45%}.letter-paper h1:focus{outline:none}.letter-text{font:400 27px/1.38 var(--hand);letter-spacing:.12px}.letter-text p{margin:0 0 24px;white-space:pre-line}.letter-text p:last-child{margin-bottom:10px}.paper-signature{display:block;text-align:right;font:44px var(--hand);color:var(--red);margin-top:19px}.chapter-aside{padding-top:43px;text-align:center;position:sticky;top:120px}.photo-frame{padding:13px 13px 20px;background:white;border:1.5px solid var(--ink);box-shadow:4px 5px 0 #27262115;transform:rotate(4deg);position:relative;margin:0}.photo-frame::before,.photo-frame::after{content:'';position:absolute;width:80px;height:27px;background:#ead58399;z-index:1;top:-12px;transform:rotate(-20deg);left:-16px;clip-path:polygon(3% 0,98% 4%,94% 19%,100% 40%,95% 58%,100% 80%,96% 100%,1% 96%,5% 76%,0 52%,5% 27%)}.photo-frame::after{left:auto;right:-16px;top:auto;bottom:-8px;transform:rotate(-22deg)}.photo-space{aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #27262165;background:#f9f7f1;padding:19px;color:#59574e;overflow:hidden}.photo-space svg{width:50px;height:50px;margin-bottom:18px;opacity:.65}.photo-space p{font:22px/1.1 var(--hand);margin:0}.photo-space img{width:100%;height:100%;object-fit:cover;display:block}.photo-space.has-image{padding:0;border:0}.photo-frame figcaption{font:20px/1.1 var(--hand);margin:14px 5px 0}.aside-doodle{width:90px;height:100px;margin:35px auto 0;color:var(--pink);transform:rotate(-12deg)}.aside-note{font:26px/1.1 var(--hand);transform:rotate(-5deg);margin:12px 0}.chapter-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:35px 0 0;padding:17px 0;border-top:1px dashed #27262160}.chapter-navigation .button{min-width:130px;font-size:23px;padding:11px 18px}#page-count{font-family:var(--hand);font-size:24px;white-space:nowrap}.reading-footer{text-align:center;margin:7px 0}.course-callout{margin:27px 0 4px}.course-callout .button{background:var(--blue);text-align:center}.big-aside{padding:20px 5px}.big-aside svg{width:190px;height:210px;margin:auto}.big-aside .aside-note{font-size:36px}.big-aside .mini-tag{font-size:12px;display:inline-block;border:1px dashed;padding:7px 12px;margin-top:15px;transform:rotate(5deg)}.gift-sheet{background:var(--yellow);padding:24px 22px;border:1.5px solid var(--ink);transform:rotate(1deg);box-shadow:var(--shadow);margin:30px 0}.gift-sheet h2{font:700 34px/1 var(--hand);margin:0 0 22px}.gift-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px;font:14px/1.4 var(--sans)}.gift-row strong{text-align:right}.gift-goal{border-top:1px dashed var(--ink);padding-top:17px;margin-top:17px}.gift-goal span{font:13px var(--sans)}.gift-goal strong{font:700 39px/1 var(--hand);display:block;margin:8px 0 4px}.gift-goal small{font:13px/1.5 var(--sans)}.gift-note{font:25px var(--hand);margin:18px 0 4px}.gift-action{width:100%;font-size:23px;background:var(--pink)}.payment{margin-top:26px;padding-top:21px;border-top:1px dashed var(--ink);font:14px/1.6 var(--sans)}.payment-value{overflow-wrap:anywhere;margin:11px 0;background:white;border:1px dashed #27262155;padding:13px;border-radius:3px}.payment-value strong{display:block;margin-bottom:7px}.payment .button{font-size:22px;min-height:44px}.payment-hint{font-size:13px;margin:16px 0 0}.mail-action{margin:27px 0 0}.mail-action .button{background:var(--blue);text-align:center}.mail-action p{font:23px var(--hand)}.reading.entering .letter-paper{animation:page-in .35s ease both}@keyframes page-in{from{opacity:0;transform:translateY(10px) rotate(-.4deg)}to{opacity:1;transform:none}}dialog{color:var(--ink);background:var(--paper);width:min(650px,calc(100% - 32px));max-height:88svh;padding:28px 35px 35px;border:2px solid var(--ink);border-radius:7px 13px 7px 9px;box-shadow:9px 10px 0 #27262150}dialog::backdrop{background:#27262175;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.close-button{border:1.5px solid var(--ink);background:var(--pink);border-radius:50% 44% 48% 43%;width:46px;height:46px;font-size:27px;flex-shrink:0}.course-book{width:95px;height:100px;float:right;margin:18px 0 5px 12px}dialog h2{font:700 43px/1.03 var(--hand);margin:30px 0 12px}dialog .dialog-intro{line-height:1.6;font-size:14px}#course-details section{border-top:1px dashed #27262155;padding-top:19px;margin-top:20px}#course-details h3{font:700 29px/1.1 var(--hand);margin:0 0 9px}#course-details p{font:14px/1.7 var(--sans);margin:0}.pdf-link{margin-top:25px;background:var(--blue);font-size:23px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:40;background:var(--ink);color:white;max-width:90%;padding:13px 20px;border-radius:6px;font:14px/1.4 var(--sans);opacity:0;pointer-events:none}.toast.visible{opacity:1}body.modal-open{overflow:hidden}
@media(min-width:1400px){.cover{padding-top:65px}.envelope-scene{margin-top:44px;margin-bottom:25px;height:350px}.envelope{width:480px;height:278px}.envelope-flap{height:58%}.seal{top:113px}}
@media(max-width:850px){.reading{padding:25px 26px 15px}.letter-layout{gap:28px;grid-template-columns:minmax(0,1fr) 210px}.letter-paper{padding:30px 29px}.letter-text{font-size:26px}.photo-space{padding:12px}.photo-space p{font-size:21px}.photo-frame{padding:10px 10px 18px}.reading-top{gap:8px}.chapter-dot{min-width:26px;padding:8px}}
@media(max-width:640px){html{scroll-padding-top:91px}.topbar{padding:9px 17px;gap:6px}.brand{font-size:22px;gap:5px;max-width:150px;line-height:.95}.brand svg{width:24px;min-width:24px;height:27px}.language{font-size:12px;gap:3px}.language button{padding:10px 7px}.cover{padding:38px 16px 18px;min-height:calc(100svh - 67px);display:flex;flex-direction:column;align-items:center}.cover h1{font-size:57px;letter-spacing:-1.5px;line-height:1}.cover h1 span:last-child{font-size:.57em;line-height:1.1;margin-top:13px;letter-spacing:-.3px}.cover-heading .eyebrow{font-size:10px;margin-bottom:19px}.envelope-scene{height:290px;margin:35px 0 10px;max-width:370px;flex-shrink:0}.envelope{width:290px;height:190px;top:24px}.envelope-address{left:17px;bottom:24px;font-size:26px}.envelope-address small{font-size:21px}.envelope-address svg{width:171px}.postage{width:45px;height:57px;right:14px;top:15px;font-size:12px}.postage svg{width:37px;height:40px}.postmark{right:64px;top:19px;width:60px;height:60px;font-size:8px}.postmark span+span{font-size:15px}.envelope-flap{height:59%}.seal{top:76px;width:40px;height:40px;left:calc(50% - 20px)}.envelope-letter{font-size:21px}.envelope-letter svg{width:30px;height:30px;margin-top:10px}.cover-flower{left:-6px;top:2px;width:53px;height:53px;z-index:6}.cover-spark{right:0;top:2px;width:33px;height:45px}.cover-bird{right:-7px;bottom:5px;width:88px;height:82px}.hand-note{bottom:7px;left:33px;font-size:22px;max-width:175px}.curly-arrow{left:4px;bottom:21px;width:39px;height:48px;transform:rotate(37deg)}.open-button{font-size:26px;min-height:54px;padding:12px 25px}.cover-footer{margin-top:auto;padding-top:26px;font-size:18px}.reading{padding:23px 18px 10px}.reading-top{margin-bottom:22px;gap:8px;flex-wrap:wrap}.reading-top .eyebrow{font-size:10px;letter-spacing:1.5px}.chapter-dots{gap:1px}.chapter-dot{min-width:24px;min-height:36px;padding:7px}.letter-layout{display:flex;flex-direction:column;gap:0}.letter-paper{padding:30px 23px 25px;width:100%;box-shadow:3px 4px 0 #27262120}.letter-paper h1{font-size:42px;margin-bottom:25px;line-height:1.02}.letter-text{font-size:26px;line-height:1.37}.letter-text p{margin-bottom:23px}.chapter-aside{position:relative;top:auto;width:100%;padding:34px 22px 6px;display:flex;align-items:center;justify-content:center;gap:15px;flex-direction:column}.photo-frame{width:min(240px,83%);transform:rotate(-3deg)}.photo-space{aspect-ratio:1/1;padding:18px}.photo-space p{font-size:22px}.photo-frame figcaption{font-size:20px}.aside-doodle{position:absolute;right:0;bottom:45px;width:55px;height:65px}.aside-note{margin:20px 0 7px;font-size:24px}.big-aside{display:flex;align-items:center;justify-content:center;padding:0;gap:5px}.big-aside svg{width:110px;height:130px}.big-aside .aside-note{font-size:30px;max-width:160px}.big-aside .mini-tag{display:none}.chapter-navigation{position:sticky;bottom:0;background:rgba(255,253,247,.97);padding:15px 1px 17px;margin-top:25px;z-index:15;gap:8px}.chapter-navigation .button{min-width:0;font-size:22px;padding:11px 13px;flex:1;max-width:142px}#page-count{font-size:21px}.reading-footer{font-size:18px;margin-top:8px}.gift-sheet{padding:21px 17px;margin:28px -6px 23px}.gift-sheet h2{font-size:32px}.gift-row{font-size:12px;gap:9px}.gift-goal strong{font-size:36px}.gift-action{font-size:23px;padding:13px 10px}.mail-action .button{font-size:24px;padding:12px 15px}.mail-action p{font-size:22px}.course-callout .button{font-size:25px}dialog{padding:21px 23px 28px;max-height:90svh}dialog h2{font-size:39px}.dialog-heading .eyebrow{font-size:10px;letter-spacing:1.2px}.course-book{width:75px;height:90px}#course-details p{font-size:14px;line-height:1.65}}
@media(max-width:360px){.brand{font-size:20px}.language{font-size:11px}.cover h1{font-size:51px}.envelope{width:265px}.reading{padding-inline:14px}.letter-paper{padding-inline:20px}.letter-text{font-size:25px}.chapter-dot{min-width:22px;padding:6px}.button{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover:not(:disabled){transform:none}}
/* A dobra do envelope acompanha o traço artesanal, sem cruzar o selo. */
.envelope-flap::after{background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 140' preserveAspectRatio='none'%3E%3Cpath d='M0 1L220 139L440 1' fill='none' stroke='%23272621' stroke-width='2.5'/%3E%3C/svg%3E") center/100% 100% no-repeat}
/* A segunda folha sem rotação evita transbordar nos capítulos longos. */
.letter-paper::after{inset:6px -5px -5px 5px;transform:none}
.dialog-heading{position:sticky;top:-28px;z-index:2;background:var(--paper);padding-bottom:10px}
@media(max-width:640px){.dialog-heading{top:-21px}}
/* Personagens de cada capítulo: pequenos desenhos com o espaço de uma anotação. */
.aside-doodle.character-doodle{width:160px;height:175px;transform:rotate(-5deg);margin:30px auto 0}
@media(max-width:640px){.aside-doodle.character-doodle{position:relative;right:auto;bottom:auto;width:145px;height:160px;margin:15px auto 0;transform:rotate(-4deg)}.course-callout .button{white-space:normal;max-width:100%;text-align:center;font-size:24px}}
.payment-choices{border:0;padding:0;margin:0 0 18px;min-width:0}.payment-choices legend{font:700 28px/1.15 var(--hand);padding:0;margin-bottom:14px}.payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.payment-option{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;min-height:49px;padding:10px 7px;border:1.5px solid var(--ink);border-radius:6px 10px 5px 8px;background:var(--paper);font-weight:600;font-size:14px}.payment-option:has(input:checked){background:var(--blue);box-shadow:2px 2px 0 var(--ink)}.payment-option:has(input:focus-visible){outline:3px solid #3d6194;outline-offset:4px}.payment-option input{accent-color:var(--ink);margin:0;width:15px;height:15px;flex-shrink:0}.payment-description{padding:14px 0 18px;border-bottom:1px dashed #27262180}.payment-description .payment-hint{margin:0 0 12px}.payment-description-value{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;font-size:12px}.payment-description-value strong{font:700 28px var(--hand);background:var(--paper);border:1px dashed var(--ink);padding:3px 17px;transform:rotate(-2deg)}.payment-method-panel{padding-top:15px}.payment-method-panel h3{font:700 30px var(--hand);margin:0}.payment-method-panel .button{text-align:center}.payment-description .button{font-size:21px}
@media(max-width:360px){.payment-options{gap:6px}.payment-option{font-size:12px;gap:4px;padding-inline:4px}.payment-option input{width:13px;height:13px}.payment-description-value{align-items:flex-start;flex-direction:column;gap:6px}}
.payment-note{font:12px/1.6 var(--sans);margin:12px 0 20px;overflow-wrap:anywhere}.payment-method-panel{border-top:1px dashed #27262180}
.pix-qr{margin:16px 0 20px;text-align:center}.pix-qr img{display:block;width:min(100%,280px);height:auto;object-fit:contain;margin:0 auto;border-radius:8px}.pix-qr figcaption{font:12px/1.5 var(--sans);margin:10px auto 0;max-width:290px}
.course-callout{display:flex;align-items:flex-start;flex-direction:column;gap:18px}.course-website{font:600 23px/1.2 var(--hand);text-underline-offset:5px;display:inline-flex;align-items:center;min-height:44px;padding:6px 2px}.course-website:hover{color:#7b3048}
.gift-goal .euro-equivalent{display:block;font:600 24px/1.15 var(--hand);margin:8px 0 14px}.fx-note{display:block;font:11px/1.5 var(--sans);margin-top:20px;text-underline-offset:3px;overflow-wrap:anywhere}#course-details .fx-note{margin-top:24px}
