/* A folha da carta — usada igual no montador (tela) e no PDF (impressão). */
.paper-box{width:100%;margin:0 auto;container-type:inline-size}
.paper{--pbg:#FDFBF7;--pline:#CFC9BC;--ptext:#3E434E;--pacc:#C8463F;--pacc2:#3E8A5A;--panel:transparent;
  width:100%;aspect-ratio:210/297;margin:0 auto;background:var(--pbg);position:relative;overflow:hidden;touch-action:none;user-select:none;
  font-size:2.35cqw;font-family:"Nunito",system-ui,sans-serif}
.pborder{position:absolute;inset:0;pointer-events:none;border:1.1em solid transparent}
.paper[data-theme="correio"] .pborder{border-image:repeating-linear-gradient(45deg,var(--pacc) 0 1.2em,#fff 1.2em 2.4em,var(--pacc2) 2.4em 3.6em,#fff 3.6em 4.8em) 16}
.paper[data-theme="lista"] .pborder{border-image:repeating-linear-gradient(-45deg,#B9C2BE 0 1em,#fff 1em 2em,var(--pacc) 2em 3em,#fff 3em 4em) 16}
.pdots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#fff 0 1.5px,transparent 2px),radial-gradient(#fff 0 1px,transparent 1.5px);background-size:3.2em 3.2em,2.1em 2.1em;background-position:0 0,1.1em 1.6em;opacity:0}
.paper[data-theme="neve"] .pdots{opacity:.85}
.paper[data-theme="pastel"] .pdots{opacity:.55;background-image:radial-gradient(#A9C9B8 0 1.5px,transparent 2px)}
.ppanel{position:absolute;inset:7% 7% 6%;background:var(--panel);border-radius:1em;pointer-events:none}
.pdrip{position:absolute;left:7%;right:7%;top:7%;height:1.6em;pointer-events:none;display:none;background:radial-gradient(circle at 10% 100%,#fff 0 .9em,transparent 1em),radial-gradient(circle at 30% 100%,#fff 0 1.3em,transparent 1.4em),radial-gradient(circle at 55% 100%,#fff 0 .8em,transparent .9em),radial-gradient(circle at 80% 100%,#fff 0 1.2em,transparent 1.3em),radial-gradient(circle at 95% 100%,#fff 0 .7em,transparent .8em);background-repeat:no-repeat;background-size:100% 100%}
.paper[data-theme="neve"] .pdrip{display:block}
.letter{position:absolute;inset:7% 10% 9%;color:var(--ptext);display:flex;flex-direction:column;pointer-events:none}
.stamps{display:flex;gap:.5em;justify-content:flex-end;align-items:flex-start;margin-bottom:.3em;flex-wrap:wrap;min-height:1em}
.stamp{width:3.9em;height:4.7em;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));transform:rotate(var(--sr,0deg))}
.stamp:nth-child(2){--sr:3deg}.stamp:nth-child(3){--sr:-2deg}
.letter h3{font-family:"Lobster","Caveat",cursive;font-weight:400;font-size:2em;margin:0 0 .25em;color:var(--pacc);line-height:1.05}
.paper[data-theme="pastel"] .letter h3,.paper[data-theme="neve"] .letter h3{font-family:"Fredoka","Nunito",sans-serif;font-weight:600}
.lines{position:relative;flex:1;overflow:hidden;font-size:var(--fs,1em)}
.lines p,.lines ul{margin:0;font-family:"Caveat","Nunito",cursive;font-size:1.4em;line-height:1.35;color:var(--ptext);background:repeating-linear-gradient(transparent 0 calc(1.35em - 1px),var(--pline) calc(1.35em - 1px) 1.35em)}
.lines p:empty{display:none}
.lines ul{padding-left:1.1em}.lines li{margin:0;line-height:inherit}.lines li::marker{color:var(--pacc)}
.sign{margin-top:.4em;font-family:"Caveat","Nunito",cursive;font-size:1.4em;line-height:1.15;color:var(--ptext)}
.sign small{display:block;font-family:"Nunito",system-ui,sans-serif;font-size:.42em;color:var(--pline);filter:brightness(.7);margin-top:.2em}
.badge{position:absolute;right:8%;bottom:4.2%;font-family:"Fredoka","Nunito",sans-serif;font-size:.7em;font-weight:600;color:var(--pline);filter:brightness(.8);letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.placed{position:absolute;width:var(--w,16%);cursor:grab;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15));transform:translate(-50%,-50%) rotate(var(--r,0deg));touch-action:none}
.placed:active{cursor:grabbing}
.placed img{width:100%;height:100%;display:block;pointer-events:none}
.placed.sel{outline:2px dashed #6FB5B9;outline-offset:3px}
