/* Native, double-sided paper geometry. Text remains vector-sharp at every angle. */
.print-art{font-family:Montserrat,Arial,sans-serif;font-size:8px;line-height:1.25;color:#111;font-weight:400;text-align:left;--paper-height:280.666667px}
.print-art *{box-sizing:border-box}.print-art p,.print-art h2,.print-art h3,.print-art h4,.print-art dl,.print-art dd{margin:0;color:inherit;letter-spacing:0}.print-art h2{font-size:26px;line-height:1.2;font-weight:900}.print-art h3{font-size:9px;font-weight:700;line-height:1.3;margin:4px 0 3px}.print-art h4{font-size:8px;font-weight:600;line-height:1.3;margin:7px 0 3px}.print-art strong,.print-art b{color:inherit;font-weight:700}.print-art small{font-size:6px;line-height:1.2}.print-art img{display:block;max-width:none}.print-panel{width:595px;height:280.666667px;background:#fff;padding:10px 30px;overflow:hidden;position:relative}.print-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.print-brand{display:flex;align-items:center;gap:5px;white-space:nowrap}.print-brand strong{font-size:11px}.print-cover .print-brand strong,.print-sender .print-brand strong{font-size:17px}.print-assessment{display:grid;grid-template-columns:306px 219px;gap:10px}.print-assessment>div{min-width:0}.print-assessment .print-field{margin-bottom:3px}.print-field{padding:3px;background:#e7e7e7;min-width:0;display:flex;flex-direction:column;gap:1px}.print-field small{color:#555}.print-field span{font-size:7.5px;font-weight:500;overflow-wrap:anywhere}.print-fields{display:flex;gap:2px}.print-fields>.print-field{flex:1}.print-columns{display:grid;grid-template-columns:36% 1fr;gap:6px}.print-art table{width:100%;border-collapse:collapse;table-layout:auto;font-size:7px;line-height:1.35;text-align:left;margin:0;color:#111}.print-art th,.print-art td{padding:2px 3px;border:0;vertical-align:top;color:#111;white-space:normal;font-size:inherit}.print-art thead th{background:#d2d2d2;font-weight:600}.print-art tbody{background:#e7e7e7}.print-totals>div{display:flex;align-items:baseline;gap:4px;margin:3px 0;font-size:7.4px}.print-totals dt{flex:1;display:flex;align-items:baseline;gap:4px}.print-totals dt::after{content:"";flex:1;border-bottom:1px dotted #999}.print-totals dd{font-weight:500;white-space:nowrap}.print-total{display:flex;justify-content:space-between;align-items:end;border:1px solid #aaa;padding:3px;margin-top:4px;font-size:8px}.print-total b{font-size:10px}.print-inside-middle{padding:12px 35px}.print-inside-middle h3{margin-top:8px}.print-inside-middle table{font-size:7px}.print-inside-middle td{height:19px}.print-inside-middle table:last-child{font-size:6.3px}.print-inside-bottom{display:grid;grid-template-columns:355px 140px;gap:20px;padding:16px 40px}.print-inside-bottom p{font-size:7.2px;line-height:1.45;margin:6px 0}.print-inside-bottom aside,.print-outside-bottom aside{text-align:center}.print-inside-bottom aside h3{font-size:12px}.print-qr{display:block;width:74px;height:74px;margin:8px auto;fill:#111;background:#fff}.print-cityword{position:absolute;bottom:28px;left:38px;display:flex;gap:6px;align-items:center;font-size:65px;font-weight:900;letter-spacing:-4px;color:#bdbdbd;line-height:.85}.print-cityword b{font-size:28px;letter-spacing:-1px}.print-upside-down{transform:rotate(180deg)}.print-sender{display:flex;align-items:center;gap:12px;margin:12px 0 88px}.print-sender p{font-size:9px;line-height:1.5;margin-top:4px}.print-sender>img{position:absolute;right:22px;top:48px}.print-postal{position:relative;border:1px solid #aaa;padding:4px;font-size:6px}.print-postal h4{font-size:7px;margin:0 0 4px}.postal-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-width:360px}.postal-record{position:absolute;right:4px;top:14px;width:125px;line-height:1.6;font-size:6px}.print-cover{padding:20px 45px}.print-cover-header{height:54px}.print-cover .print-cover-header{align-items:flex-start;display:flex;justify-content:space-between}.print-postmark{width:90px;height:90px;border:1px solid #222;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.print-postmark strong{font-size:17px;font-weight:500}.print-postmark small{font-size:6px}.print-cover h2{margin:8px 0 1px}.print-cover-title{font-size:16px}.print-delivery{display:flex;align-items:center;gap:25px;margin-top:14px}.print-discount{width:92px;height:92px;border-radius:50%;background:#bdbdbd;display:flex;flex-direction:column;align-items:center;justify-content:center}.print-discount b{font-size:30px;font-weight:900;line-height:1}.print-discount b small{font-size:12px}.print-discount span{font-size:8px;text-align:center}.print-delivery address{font-style:normal;font-size:10px;line-height:1.5;font-weight:600}.print-sample{position:absolute;right:30px;bottom:9px;color:#888}.print-outside-bottom{padding:16px 45px;background:#bdbdbd;display:grid;grid-template-columns:355px 140px;gap:10px}.print-notes,.print-outside-bottom aside{background:#fff;padding:10px;height:180px}.print-notes p{font-size:7px;line-height:1.5;margin:5px 0 12px}.print-outside-bottom .print-cityword{color:#848484;bottom:18px}.print-insert{width:595px;height:842px;background:#fff}.print-voucher{height:140.333px;padding:10px 20px 5px;border-bottom:1px dashed #bdbdbd;display:grid;grid-template-columns:202px 1fr;gap:10px;background:#fff}.voucher-stub{border-right:1px dashed #ccc;padding-right:8px;display:flex;flex-direction:column;justify-content:space-between}.voucher-stub header{display:flex;align-items:center;gap:5px}.voucher-stub header div{display:flex;flex-direction:column;gap:3px}.voucher-stub header strong{font-size:9px}.voucher-stub .print-field span{font-size:6.5px}.voucher-payment{padding:10px 0 0}.voucher-summary{display:flex;gap:18px;align-items:center;min-height:50px;margin-bottom:12px}.voucher-summary>div:not(.voucher-discount){display:flex;flex-direction:column;gap:3px}.voucher-summary span{font-size:9px}.voucher-summary b{font-size:13px;white-space:nowrap}.voucher-discount{width:45px;height:45px;border-radius:50%;background:#d2d2d2;display:flex;flex-direction:column;align-items:center;justify-content:center}.voucher-discount b{font-size:20px;line-height:1}.print-barcode{display:block;width:100%;height:30px;fill:#111}.voucher-code{display:block;text-align:center;margin-top:4px;font-size:5px!important}.print-sheet{width:595px;height:842px;background:#fff}.print-sheet>.print-panel:not(:last-child){border-bottom:1px dashed #ccc}
.letter-experience{margin:32px 0 44px;border:1px solid var(--line);border-radius:16px;background:var(--soft);overflow:hidden}.letter-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 0}.letter-eyebrow{font-size:var(--text-body-small);color:var(--muted)}.letter-toolbar p{font-size:var(--text-label-small);font-weight:500;margin:0;color:var(--fg)}.letter-experience button,.letter-dialog button{font-family:inherit;font-size:12px;line-height:1.5;color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--bg);cursor:pointer}.letter-experience button:hover,.letter-dialog button:hover{background:var(--soft)}.letter-stage{height:510px;position:relative;perspective:1600px;touch-action:pan-y;cursor:grab;user-select:none;outline-offset:-4px}.letter-stage:active{cursor:grabbing}.letter-stage.is-dragging{touch-action:none}.letter-shadow{position:absolute;width:56%;height:45px;border-radius:50%;background:#0002;filter:blur(22px);bottom:85px;left:22%;pointer-events:none}.letter-rig{position:absolute;top:50%;left:50%;width:595px;height:280.666667px;transform-style:preserve-3d;transform:translate(-50%,-50%) scale(var(--letter-scale,.85)) rotateX(var(--letter-x,-12deg)) rotateY(var(--letter-y,165deg)) rotateZ(var(--letter-z,-5deg)) translateY(var(--letter-center-y,0px));transition:transform .85s cubic-bezier(.22,1,.36,1);pointer-events:none}.paper-panel{position:absolute;width:595px;height:280.666667px;transform-style:preserve-3d}.paper-middle{top:0}.paper-top{top:-280.666667px;transform-origin:center bottom;transform:translateZ(2.2px) rotateX(calc(-1 * var(--letter-top-fold,180deg)))}.paper-bottom{top:280.666667px;transform-origin:center top;transform:translateZ(1.1px) rotateX(var(--letter-bottom-fold,180deg))}.paper-face{position:absolute;inset:0;backface-visibility:hidden;background:#fff;box-shadow:0 1px 1px #0002,0 0 0 .6px #d0ceca;overflow:hidden}.paper-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,#ffffff00 30%,#a6a09a08 80%,#7772);box-shadow:inset 0 1px 1px #0001}.paper-front{transform:translateZ(.2px)}.paper-back{transform:rotateY(180deg) translateZ(.2px)}.paper-top .paper-front{box-shadow:inset 0 -2px 3px #0001}.paper-bottom .paper-front{box-shadow:inset 0 2px 3px #0001}.letter-insert-mini{position:absolute;top:15px;left:420px;width:595px;height:842px;transform-origin:top left;transform:translateZ(-6px) rotateZ(12deg) scale(.31);box-shadow:0 12px 25px #0003;backface-visibility:visible}.letter-insert-mini::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,#ddd2);pointer-events:none}.letter-stage-label,.letter-insert-label{position:absolute;font-size:10px;line-height:1.5;color:var(--muted);pointer-events:none}.letter-stage-label{top:22px;left:24px;letter-spacing:.08em}.letter-insert-label{bottom:18px;right:24px}.letter-controls{padding:0 24px}.letter-actions{display:flex;gap:8px;flex-wrap:wrap}.letter-actions button:first-child{background:var(--fg);color:var(--bg);border-color:var(--fg)}.letter-fold-control{width:min(100%,360px);display:flex;align-items:center;gap:12px;margin-top:20px;font-size:12px;color:var(--muted)}.letter-fold-control input{flex:1;min-width:0;accent-color:var(--fg)}#letter-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:16px 24px 24px}.letter-experience :focus-visible,.letter-dialog :focus-visible{outline:2px solid var(--fg);outline-offset:3px}.letter-experience .letter-stage:focus-visible{outline-offset:-4px}.letter-stage.is-folding .letter-rig,.letter-stage.is-dragging .letter-rig,.letter-stage.is-adjusting .letter-rig,.letter-stage.is-adjusting .paper-panel{transition:none}.letter-dialog{width:min(1080px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--fg);overflow:hidden}.letter-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.letter-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;gap:16px}.letter-dialog>header>h2{font-size:18px;font-weight:500;line-height:1.5;margin:0}.letter-dialog .letter-dialog-close{width:36px;height:36px;padding:0;font-size:24px;border:0}.letter-tabs{display:flex;gap:8px;padding:0 20px 14px;flex-wrap:wrap}.letter-tabs button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.letter-tabs .letter-detail-zoom{margin-left:auto}.letter-document-view{max-height:calc(100dvh - 162px);overflow:auto;background:var(--soft);padding:24px;overscroll-behavior:contain}.letter-detail-sheet{width:595px;height:842px;margin:auto;box-shadow:0 4px 18px #0002}.letter-document-view.is-zoomed .letter-detail-sheet{width:1190px;height:1684px}.letter-document-view.is-zoomed .print-sheet{transform:scale(2);transform-origin:top left}.letter-detail-sheet[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}body:has(.letter-dialog[open]){overflow:hidden}@media(max-width:599px){.letter-toolbar{padding:18px 16px 0}.letter-toolbar p{font-size:14px}.letter-toolbar button{font-size:11px;white-space:nowrap;padding:7px 9px}.letter-stage{height:390px}.letter-controls{padding:0 16px}.letter-actions{gap:6px}.letter-actions button{flex:1;padding:9px 6px;font-size:11px;white-space:nowrap}.letter-actions button:last-child{flex-basis:100%}#letter-hint{margin:16px}.letter-stage-label{left:16px;top:14px}.letter-insert-label{right:16px;font-size:9px}.letter-document-view{padding:14px}.letter-tabs{padding:0 14px 12px;gap:6px}.letter-tabs button{font-size:11px;padding:8px}.letter-dialog>header{padding:14px}.letter-dialog>header>h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.letter-rig,.paper-panel{transition:none}}
/* Keep all registry rows inside the middle fold and the insert readable at the corner. */
.print-inside-middle h3{margin:5px 0 2px}.print-inside-middle td{height:14px;padding:1px 3px;line-height:1.2}.print-inside-middle th{padding:2px 3px;line-height:1.2}.print-inside-middle table:last-child{font-size:6px}
.letter-insert-mini{top:auto;left:auto;right:34px;bottom:18px;transform-origin:bottom right;transform:rotate(0deg) scale(.22);pointer-events:none;box-shadow:0 15px 32px #0003}
@media(max-width:599px){.letter-insert-mini{right:22px;bottom:18px;transform:rotate(0deg) scale(.13)}}
.letter-stage{touch-action:none}
.print-art th,.print-art td{line-height:1.3;height:auto;min-height:0}

/* Fine paper grain sits over the ink without blurring the native text. */
.print-insert{position:relative}
.print-panel::after,.print-insert::after{content:"";position:absolute;inset:0;pointer-events:none;background:url("assets/iptu/paper-grain.svg") repeat;background-size:160px 160px;mix-blend-mode:multiply;opacity:.65}

.letter-insert-label{bottom:0}
