@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,500&family=Dancing+Script:wght@400;500;600;700&family=DM+Mono:ital,wght@0,300;0,400;1,300&display=swap";:root{--ink:#0e0c0a;--paper:#fff;--paper-2:#f5f5f5;--verm:#c0392b;--verm-s:#c0392b1f;--gold:#9a7c3f;--gold-s:#9a7c3f26;--sage:#3d6b5a;--rule:#f7f2ea14;--rule-h:#f7f2ea26;--sh:0 12px 48px #0e0c0a59;--r:3px;--fd:"Playfair Display",Georgia,serif;--fb:"Dancing Script",cursive;--fm:"DM Mono","Courier New",monospace;--nav:52px;--tab:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;font-size:19px}body{background:var(--ink);color:var(--paper);font-family:var(--fm);overscroll-behavior:none;flex-direction:column;height:100dvh;display:flex;overflow:hidden}#root{display:contents}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-thumb{background:#f7f2ea33;border-radius:2px}body:after{content:"";pointer-events:none;z-index:9999;opacity:.7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");position:fixed;inset:0}.topnav{height:var(--nav);border-bottom:1px solid var(--rule);z-index:200;flex-shrink:0;align-items:center;padding:0 24px;display:flex;position:relative}.nav-logo{cursor:pointer;flex-shrink:0;align-items:baseline;gap:8px;text-decoration:none;display:flex}.nav-logo-mark{font-family:var(--fd);color:var(--paper);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.nav-logo-sub{color:#f7f2ea94;letter-spacing:.15em;text-transform:uppercase;font-size:.65rem}.nav-divider{background:#f7f2ea1f;flex-shrink:0;width:1px;height:20px;margin:0 20px}.nav-steps{flex:1;align-items:center;min-width:0;display:flex;overflow:visible}.nav-step{letter-spacing:.08em;text-transform:uppercase;color:#f7f2eaa6;cursor:pointer;white-space:nowrap;font-size:.7rem;font-family:var(--fm);background:0 0;border:none;align-items:center;gap:8px;padding:6px 16px;transition:color .2s;display:flex;position:relative}.nav-step.active{color:var(--paper)}.nav-step.active:after{content:"";background:var(--verm);height:1px;position:absolute;bottom:-1px;left:16px;right:16px}.nav-step.done{color:var(--gold)}.step-num{border:1px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.6rem;display:flex}.nav-step.done .step-num{background:var(--gold);border-color:var(--gold);color:var(--ink)}.nav-step.active .step-num{background:var(--verm);border-color:var(--verm);color:#fff}.nav-arrow{color:#f7f2ea61;padding:0 2px;font-size:.7rem}.nav-right{align-items:center;gap:12px;margin-left:auto;display:flex}.nav-conn-badge{color:#f7f2eaad;cursor:pointer;white-space:nowrap;font-size:.65rem;font-family:var(--fm);background:0 0;border:1px solid #f7f2ea26;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;transition:all .2s;display:flex}.nav-conn-badge:hover{color:#f7f2eacc;border-color:#f7f2ea4d}.conn-dot{background:#4caf50;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 6px #4caf5099}.nav-plan-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--plan-color,#888);border:1px solid var(--plan-color,#888);cursor:pointer;font-size:.6rem;font-weight:700;font-family:var(--fm);white-space:nowrap;background:0 0;border-radius:20px;align-items:center;padding:3px 9px;transition:all .18s;display:flex}.nav-plan-badge:hover{background:#ffffff0f}.pdf-dl-bar{z-index:700;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.pdf-dl-btn{color:#6aaa90;cursor:pointer;font-family:var(--fm);letter-spacing:.04em;white-space:nowrap;background:#0e0c0a;border:1px solid #6aaa9080;border-radius:4px;padding:7px 18px;font-size:.72rem;transition:background .15s;box-shadow:0 4px 16px #00000080}.pdf-dl-btn:hover{background:#6aaa901f}.nav-studio-btn{color:#c49a28e6;cursor:pointer;white-space:nowrap;font-size:.65rem;font-family:var(--fm);background:#c49a2814;border:1px solid #c49a2866;border-radius:20px;align-items:center;gap:5px;padding:4px 11px;transition:all .2s;display:flex}.nav-studio-btn:hover{color:#c49a28;background:#c49a2824;border-color:#c49a28b3}.nav-user-email{color:#f7f2ea8c;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.7rem;overflow:hidden}.studio-callout{color:inherit;cursor:pointer;background:#c49a280f;border:1px solid #c49a2840;border-radius:6px;align-items:flex-start;gap:14px;margin:20px 14px 6px;padding:14px 16px;text-decoration:none;transition:all .2s;display:flex}.studio-callout:hover{background:#c49a281a;border-color:#c49a2873}.studio-callout-icon{opacity:.75;flex-shrink:0;font-size:1.4rem}.studio-callout-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.studio-callout-title{color:#f7f2eae6;letter-spacing:.02em;font-size:.75rem;font-weight:600}.studio-callout-sub{color:#f7f2ea73;margin-top:4px;font-size:.65rem;line-height:1.5}.studio-callout-arrow{color:#c49a2899;flex-shrink:0;font-size:.9rem;transition:transform .2s}.studio-callout:hover .studio-callout-arrow{color:#c49a28e6;transform:translate(3px)}.studio-callout-active{background:#2a6b3a14!important;border-color:#2a6b3a73!important}.studio-style-badge{color:#64c878e6;letter-spacing:.06em;vertical-align:middle;background:#2a6b3a40;border:1px solid #2a6b3a66;border-radius:10px;margin-left:7px;padding:1px 7px;font-size:.58rem;font-weight:500;display:inline-block}.studio-style-badge-off{color:#a0a0a0b3;background:#64646426;border-color:#9696964d}.custom-style-toggle{color:#c8c8c8b3;cursor:pointer;letter-spacing:.04em;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:7px;width:fit-content;margin-top:6px;padding:5px 12px;font-family:inherit;font-size:.72rem;transition:all .18s;display:flex}.custom-style-toggle:hover{color:#dcdcdce6;border-color:#ffffff38}.custom-style-toggle-on{color:#78d28cd9;background:#2a6b3a1a;border-color:#2a6b3a80}.custom-style-toggle-on:hover{border-color:#2a6b3ab3}.custom-style-toggle-dot{background:#96969680;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .18s}.custom-style-toggle-on .custom-style-toggle-dot{background:#50be64e6}.shell{height:calc(100vh - var(--nav));height:calc(100dvh - var(--nav));flex:1;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--rule);flex-direction:column;flex-shrink:0;width:256px;height:100%;display:flex;overflow-y:auto}.sidebar-section{border-bottom:1px solid var(--rule);padding:14px 14px 12px}.sidebar-label{letter-spacing:.18em;text-transform:uppercase;color:#f7f2eab8;margin-bottom:9px;font-size:.65rem}.source-grid{flex-direction:column;gap:3px;display:flex}.source-btn{border-radius:var(--r);cursor:pointer;color:var(--paper);text-align:left;font-family:var(--fm);background:#f7f2ea0a;border:1px solid #f7f2ea1a;flex-direction:row;align-items:center;gap:6px;width:100%;padding:6px 8px;transition:all .18s;display:flex}.source-btn:hover{background:#f7f2ea17;border-color:#f7f2ea38}.source-btn.active{background:#c0392b21;border-color:#c0392b80}.source-icon{flex-shrink:0;font-size:1rem;line-height:1}.source-name{letter-spacing:.02em;color:#f7f2eac7;flex:1;font-size:.6rem;line-height:1}.source-btn.active .source-name{color:var(--paper)}.source-btn.needs-conn{border-style:dashed;border-color:#f7f2ea29}.source-btn.needs-conn:hover{border-style:solid;border-color:#f7f2ea40}.source-btn.needs-conn .source-icon,.source-btn.needs-conn .source-name{opacity:.5}.src-conn-tag{letter-spacing:.05em;color:#f7f2eab3;white-space:nowrap;background:#f7f2ea1a;border-radius:2px;flex-shrink:0;padding:1px 5px;font-size:.45rem}.src-title{letter-spacing:.14em;text-transform:uppercase;color:#f7f2eaa6;margin:8px 0 2px;font-size:.54rem}.dataset-info{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.dataset-pick{border-radius:var(--r);color:#f7f2ea99;width:100%;font-family:var(--fm);cursor:pointer;text-align:center;background:#c0392b1a;border:1px dashed #c0392b66;padding:7px 10px;font-size:.6rem;transition:all .18s}.dataset-pick:hover{color:var(--paper);background:#c0392b2e;border-color:#c0392bb3}.dataset-name{color:#f7f2eac7;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.6rem;overflow:hidden}.dataset-change{border-radius:var(--r);color:#f7f2eaa6;font-family:var(--fm);cursor:pointer;background:#f7f2ea0f;border:1px solid #f7f2ea1f;flex-shrink:0;padding:3px 8px;font-size:.58rem;transition:all .18s}.dataset-change:hover{color:var(--paper);border-color:#f7f2ea4d}.dataset-loading{color:#f7f2ea9e;font-size:.6rem;font-family:var(--fm)}.contact-list{padding:6px 0}.contact-item{cursor:pointer;content-visibility:auto;contain-intrinsic-size:0 46px;align-items:center;gap:9px;padding:7px 14px;transition:background .15s;display:flex;position:relative}.contact-item:hover{background:#f7f2ea0a}.contact-item.active{background:#f7f2ea12}.contact-item.active:before{content:"";background:var(--verm);width:2px;position:absolute;top:0;bottom:0;left:0}.contact-avatar{width:26px;height:26px;font-family:var(--fd);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-style:italic;display:flex}.av-1{color:#e8856e;background:#c0392b33}.av-2{color:#c4a567;background:#9a7c3f33}.av-3{color:#6aaa90;background:#3d6b5a33}.av-4{color:#a09ae0;background:#645ab433}.av-5{color:#d090ba;background:#b4508c33}.contact-info{flex:1;min-width:0}.contact-name{color:#f7f2eae6;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.contact-company{color:#f7f2eaad;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.63rem;overflow:hidden}.contact-status{border-radius:50%;flex-shrink:0;width:6px;height:6px}.contact-delete{opacity:0;color:#f7f2ea59;cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-left:auto;padding:0;font-size:.6rem;line-height:1;transition:all .15s;display:flex}.contact-item:hover .contact-delete{opacity:1}.contact-delete:hover{color:#dc503ce6;background:#dc503c1a}.contact-no-addr{color:#fff;background:#c8783cd9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin-left:auto;font-size:.48rem;font-weight:700;line-height:1;display:flex}.s-pending{background:#f7f2ea33}.s-generated{background:var(--gold);box-shadow:0 0 5px #9a7c3f80}.s-approved{background:#4caf50;box-shadow:0 0 5px #4caf5080}.s-sent{background:#4a90d9;animation:1.4s ease-in-out infinite dot-pulse;box-shadow:0 0 5px #4a90d966}.s-qa-passed{background:#00c853;box-shadow:0 0 7px #00c853b3}.s-qa-failed{background:#ff8f00;box-shadow:0 0 5px #ff8f0080}.s-qa-discarded{background:#f7f2ea26;border:1px solid #f7f2ea33}.s-queued{background:#ff9800;animation:1.4s ease-in-out infinite dot-pulse;box-shadow:0 0 5px #ff980080}.s-printing{background:#4a90d9;animation:1.4s ease-in-out infinite dot-pulse;box-shadow:0 0 5px #4a90d966}.s-delivered{background:#00c853;box-shadow:0 0 7px #00c853b3}.s-print-error{background:#f44336;box-shadow:0 0 5px #f4433680}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.35}}.sidebar-footer{border-top:1px solid var(--rule);padding:10px 14px}.count-bar{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.count-label{color:#f7f2eab8;font-size:.58rem}.count-num{color:#f7f2eabf;font-size:.58rem}.progress-track{background:#f7f2ea14;border-radius:1px;height:2px;overflow:hidden}.progress-fill{background:var(--gold);height:100%;transition:width .4s}.canvas{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.canvas-toolbar{border-bottom:1px solid var(--rule);flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;display:flex}.tb-group{flex-shrink:0;align-items:center;gap:6px;display:flex}.tb-label{letter-spacing:.11em;text-transform:uppercase;color:#f7f2ea8c;flex-shrink:0;font-size:.57rem}.tb-select{appearance:none;color:#f7f2eae0;font-family:var(--fm);cursor:pointer;background:#f7f2ea12 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(247,242,234,.45)'/%3E%3C/svg%3E") right 8px center/10px 6px no-repeat;border:1px solid #f7f2ea1f;border-radius:6px;outline:none;min-width:130px;padding:4px 26px 4px 9px;font-size:.63rem;transition:border-color .18s,background-color .18s}.tb-select:hover{background-color:#f7f2ea1c;border-color:#f7f2ea40}.tb-select:focus{background-color:#f7f2ea1c;border-color:#f7f2ea4d}.tb-select option{color:#f7f2eae6;background:#1a1410}.tb-sep{background:#f7f2ea14;flex-shrink:0;width:1px;height:16px;margin:0 2px}.tb-edit-btn{color:#f7f2eacc;font-family:var(--fm);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#f7f2ea14;border:1px solid #f7f2ea4d;border-radius:3px;flex-shrink:0;padding:4px 10px;font-size:.57rem;transition:all .15s}.tb-edit-btn:hover{color:#fff;background:#f7f2ea2e;border-color:#f7f2ea99}.wc{color:#f7f2ea8c;flex-shrink:0;align-items:center;gap:6px;font-size:.57rem;display:flex}.wc-bar{background:#f7f2ea1a;border-radius:1px;width:46px;height:2px;overflow:hidden}.wc-fill{background:var(--sage);height:100%;transition:width .3s}.wc-fill.warn{background:var(--gold)}.wc-fill.over{background:var(--verm)}.step-view{flex-direction:column;flex:1;align-items:stretch;gap:20px;width:100%;max-width:560px;margin:0 auto;padding:32px 36px;display:flex;overflow-y:auto}.step-view-hd{flex-direction:column;gap:5px;display:flex}.step-view-title{letter-spacing:.06em;text-transform:uppercase;color:#f7f2eae6;font-size:.85rem;font-weight:700}.step-view-sub{color:#f7f2ea9e;font-size:.68rem;line-height:1.5}.step-next-btn{border-radius:var(--r);color:#e8856e;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;background:#c0392b2e;border:1px solid #c0392b73;align-self:flex-start;margin-top:8px;padding:11px 20px;font-size:.67rem;font-weight:700;transition:all .18s}.step-next-btn:hover{background:#c0392b47}.step-next-btn:disabled{opacity:.4;cursor:default}.cfg2-go-bar{border-top:1px solid var(--rule);background:var(--bg);flex-shrink:0;justify-content:flex-end;align-items:center;padding:10px 18px;display:flex}.cfg2-sender-warn{color:#f7d882d9;font-size:.68rem;font-family:var(--fm);letter-spacing:.03em;background:#f7d88212;border:1px solid #f7d88233;border-radius:6px;align-items:center;gap:7px;padding:9px 14px;display:flex}.cfg2-warn-icon{flex-shrink:0;font-size:.8rem}.stale-banner{border-radius:var(--r);color:#c8974a;letter-spacing:.04em;text-align:center;background:#c0822b21;border:1px solid #c0822b66;width:100%;max-width:520px;margin-bottom:10px;padding:8px 14px;font-size:.68rem;font-weight:600}.preflight-modal{background:#18150f;border:1px solid #c8783c59;border-radius:8px;flex-direction:column;gap:16px;width:480px;max-width:94vw;padding:22px 24px;animation:.2s fadeUp;display:flex;box-shadow:0 24px 64px #0000008c}.preflight-header{align-items:flex-start;gap:12px;display:flex}.preflight-icon{color:#fff;background:#c8783cd9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;font-size:.75rem;font-weight:700;display:flex}.preflight-title{color:#f7f2eae6;letter-spacing:.02em;font-size:.82rem;font-weight:700}.preflight-sub{color:#f7f2ea7a;margin-top:3px;font-size:.68rem}.preflight-list{flex-direction:column;gap:6px;max-height:240px;display:flex;overflow-y:auto}.preflight-row{align-items:center;gap:10px;display:flex}.preflight-name{color:#f7f2eab3;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;min-width:100px;max-width:130px;font-size:.7rem;overflow:hidden}.preflight-input{color:#f7f2eae0;background:#f7f2ea0d;border:1px solid #f7f2ea1f;border-radius:4px;outline:none;flex:1;padding:6px 9px;font-size:.7rem}.preflight-input:focus{border-color:#f7f2ea4d}.preflight-actions{flex-wrap:wrap;gap:8px;display:flex}.preflight-btn-skip{color:#f7f2eab3;cursor:pointer;background:#f7f2ea12;border:1px solid #f7f2ea26;border-radius:5px;flex:1;padding:8px 12px;font-size:.68rem;transition:background .15s}.preflight-btn-skip:hover{background:#f7f2ea1f}.preflight-btn-save{color:#f7d882e6;cursor:pointer;background:#9a7c3f40;border:1px solid #9a7c3f66;border-radius:5px;flex:1;padding:8px 12px;font-size:.68rem;font-weight:600;transition:background .15s}.preflight-btn-save:hover:not(:disabled){background:#9a7c3f61}.preflight-btn-save:disabled{opacity:.38;cursor:not-allowed}.preflight-btn-cancel{color:#f7f2ea61;cursor:pointer;background:0 0;border:1px solid #f7f2ea1a;border-radius:5px;padding:8px 12px;font-size:.68rem}.preflight-btn-cancel:hover{color:#f7f2ea8c;border-color:#f7f2ea33}.qa-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:800;background:#060402d1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qa-modal-card{background:#18150f;border:1px solid #ff8f0059;border-radius:6px;width:500px;max-width:95vw;max-height:88vh;padding:24px 26px;animation:.22s qa-in;overflow-y:auto;box-shadow:0 32px 80px #0009,0 0 0 1px #ff8f001f}@keyframes qa-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}.qa-review-hd{align-items:center;gap:10px;margin-bottom:14px;display:flex}.qa-review-title{color:#ffb347;letter-spacing:.04em;font-size:.8rem;font-weight:700}.qa-issues{margin:0 0 12px 20px;padding:0;list-style:outside}.qa-issues li{color:#f7f2eab8;margin-bottom:6px;font-size:.68rem;line-height:1.55}.qa-meta{color:#f7f2ea80;border-top:1px solid #f7f2ea12;margin-bottom:16px;padding-top:4px;font-size:.64rem}.qa-review-actions{gap:10px;display:flex}.qa-approve-btn{border-radius:var(--r);color:#6aaa90;font-family:var(--fm);letter-spacing:.07em;cursor:pointer;background:#3d6b5a40;border:1px solid #3d6b5a99;padding:9px 20px;font-size:.66rem;font-weight:700;transition:all .18s}.qa-approve-btn:hover:not(:disabled){background:#3d6b5a66;border-color:#6aaa90}.qa-approve-btn:disabled{opacity:.5;cursor:default}.qa-discard-btn{border-radius:var(--r);color:#f7f2ea99;font-family:var(--fm);cursor:pointer;background:0 0;border:1px solid #f7f2ea24;padding:9px 16px;font-size:.66rem;transition:all .18s}.qa-discard-btn:hover{color:#f7f2eacc;border-color:#f7f2ea4d}.svg-download-bar{flex-shrink:0;justify-content:flex-end;padding:6px 14px 10px;display:flex}.svg-download-btn{border-radius:var(--r);color:#6aaa90;font-family:var(--fm);letter-spacing:.04em;white-space:nowrap;background:#3d6b5a2e;border:1px solid #3d6b5a80;flex-shrink:0;align-items:center;gap:5px;padding:8px 14px;font-size:.62rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.svg-download-btn:hover{background:#3d6b5a4d;border-color:#6aaa90;transform:translateY(-1px)}.letter-area{flex:1;gap:0;display:flex;overflow:hidden}.letter-scroll{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:20px;padding:16px;display:flex;overflow-y:auto}.letter-paper{aspect-ratio:8.5/11;background:var(--paper);width:100%;max-width:680px;color:var(--ink);box-shadow:var(--sh),0 0 0 1px #0e0c0a14;border-radius:2px;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.letter-paper:not(.has-svg-preview){min-height:280px;padding-bottom:40px;aspect-ratio:unset!important}.letter-paper.square-paper{aspect-ratio:1;max-width:680px}.letter-paper.square-paper:not(.has-svg-preview) .letter-body{min-height:0;font-size:1.2rem;line-height:1.65}.letter-paper.square-paper:not(.has-svg-preview) .letter-body p{margin:.45em 0}.letter-paper.square-paper:not(.has-svg-preview) .letter-sig,.letter-paper.square-paper:not(.has-svg-preview) .letter-ps{font-size:1.05rem}.letter-paper.half-paper{aspect-ratio:5.5/8.5;max-width:440px}.letter-paper.half-paper:not(.has-svg-preview) .letter-body{min-height:0;font-size:1.05rem;line-height:1.65}.letter-paper.half-paper:not(.has-svg-preview) .letter-body p{margin:.35em 0}.letter-paper.half-paper:not(.has-svg-preview) .letter-sig,.letter-paper.half-paper:not(.has-svg-preview) .letter-ps{font-size:.92rem}.letter-paper:not(.half-paper):not(.square-paper):not(.has-svg-preview) .letter-body{min-height:0;font-size:1.7rem;line-height:1.65}.letter-paper:not(.half-paper):not(.square-paper):not(.has-svg-preview) .letter-body p{margin:.35em 0}.letter-paper:not(.half-paper):not(.square-paper):not(.has-svg-preview) .letter-sig,.letter-paper:not(.half-paper):not(.square-paper):not(.has-svg-preview) .letter-ps{font-size:1.45rem}.letter-paper:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(#0000,#0000 31px,#6482c81f 31px 32px);background-position:0 50px;position:absolute;inset:0}.letter-paper:after{content:"";pointer-events:none;background:#c864642e;width:1px;position:absolute;top:0;bottom:0;left:50px}.letter-paper.has-svg-preview{background:#fff}.letter-paper.has-svg-preview:after,.letter-paper.has-svg-preview:before{display:none}.letter-date-corner{z-index:20;color:#666;pointer-events:none;font-family:Georgia,serif;font-size:clamp(9px,1.4%,13px);font-style:italic;position:absolute;top:3.5%;right:4%}.letter-paper.has-svg-preview .letter-top.letter-top-hw{z-index:10;position:absolute;top:0;left:0;right:0}.letter-paper.has-svg-preview .letter-body-zone.filled{flex:unset;min-height:unset;position:absolute;inset:0}.letter-watermark{letter-spacing:.45em;color:#a0410f47;pointer-events:none;z-index:2;white-space:nowrap;font-size:4.5rem;font-weight:900;font-family:var(--fm);text-transform:uppercase;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-32deg)}.letter-top{grid-template-columns:1fr auto;grid-template-areas:".saddr""recip date";gap:16px;padding:24px 28px 16px 62px;display:grid}.letter-sender-addr{text-align:right;flex-direction:column;grid-area:saddr;gap:2px;display:flex}.letter-recipient-col{flex-direction:column;grid-area:recip;gap:2px;display:flex}.letter-date-right{text-align:right;grid-area:date;align-self:start}.letter-addr-line{font-family:var(--fd);letter-spacing:.01em;color:#0e0c0a9e;font-size:.74rem;font-style:italic;line-height:1.5}.letter-top.letter-top-hw{grid-template:"recip saddr"/52% 40%;align-items:start;gap:0 8%;padding:4% 20px 4% 62px}.letter-hw-recipient{grid-area:recip;width:100%;height:clamp(36px,5vw,52px)}.letter-hw-recipient img{object-fit:contain;object-position:left top;width:100%;height:100%;display:block}.letter-hw-right{grid-area:saddr;width:100%;height:clamp(72px,10vw,116px)}.letter-hw-right img{object-fit:contain;object-position:right top;width:100%;height:100%;display:block}.letter-hw-footer{pointer-events:none;width:100%;padding:2px 28px 16px 62px}.letter-footer-typo{flex-direction:column;gap:2px;display:flex}.letter-body{font-family:var(--fb);color:#1a1209;min-height:220px;padding:16px 28px 8px 62px;font-size:1.55rem;line-height:1.75}.letter-body-zone.editing{position:relative}.letter-edit-hint{font-family:var(--fm);letter-spacing:.06em;text-transform:uppercase;color:#784b0fbf;pointer-events:none;z-index:3;background:#9a7c3f26;border:1px solid #9a7c3f4d;border-radius:4px;padding:3px 8px;font-size:.62rem;font-weight:600;transition:opacity .2s;position:absolute;top:10px;right:14px}.letter-body-zone.editing:has([contenteditable]:focus) .letter-edit-hint{opacity:0}.letter-body-editable{transition:background .15s}.letter-body-editable:hover{background:#9a7c3f0a}.letter-body-editable:focus{background:#9a7c3f0f}.hp-var{color:var(--verm);cursor:help;border-bottom:1px dashed #c0392b80}.hp-infer{cursor:help;background:#9a7c3f14;border-bottom:1px dotted #9a7c3f66;border-radius:2px;padding:0 2px}.letter-sig{font-family:var(--fd);color:#0e0c0a99;padding:0 28px 8px 62px;font-size:1.2rem;font-style:italic;line-height:1.4}.letter-ps{font-family:var(--fb);color:#0e0c0aa6;padding:0 28px 8px 62px;font-size:1.2rem}.letter-body-skeleton{flex-direction:column;gap:14px;min-height:220px;padding:16px 28px 8px 62px;display:flex}.skel-line{background:#0e0c0a12;border-radius:4px;height:9px;animation:1.4s ease-in-out infinite skel-pulse}.skel-line:nth-child(odd){animation-delay:.2s}@keyframes skel-pulse{0%,to{opacity:.45}50%{opacity:.9}}.letter-body-zone{position:relative}.letter-body-pending{opacity:.35;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:260px;padding:40px 28px;display:flex}.letter-pending-icon{font-size:1.4rem}.letter-pending-msg{font-size:.72rem;font-family:var(--fm);letter-spacing:.04em;text-align:center;color:var(--ink);line-height:1.7}.letter-body-zone.filled{flex:1;min-height:0}.letter-svg-preview{animation:.2s both fadeUp;position:absolute;inset:0}.letter-svg-preview img{object-fit:fill;width:100%;height:100%;display:block}.letter-png-preview{animation:.2s both fadeUp;position:absolute;inset:0}.letter-png-preview img{object-fit:contain;width:100%;height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:high-quality;background:#fff;display:block}.letter-svg-inline{position:absolute;inset:0}.letter-svg-inline svg{width:100%;height:100%;display:block}@keyframes pw-draw{to{stroke-dashoffset:0}}.envelope{aspect-ratio:9.5/4.125;background:var(--paper);border-radius:3px;flex-shrink:0;width:100%;max-width:680px;animation:.28s both fadeUp;position:relative;overflow:hidden;box-shadow:0 4px 24px #0e0c0a24,0 0 0 1px #0e0c0a14}.env-folds{stroke:#0e0c0a21;stroke-width:.6px;pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.env-flap{pointer-events:none;position:absolute}.env-flap-left{clip-path:polygon(0 0,100% 50%,0 100%);z-index:2;background:linear-gradient(90deg,#0e0c0a0a,#0000);width:45%;top:0;bottom:0;left:0}.env-flap-right{clip-path:polygon(100% 0,0 50%,100% 100%);z-index:2;background:linear-gradient(270deg,#0e0c0a0a,#0000);width:45%;top:0;bottom:0;right:0}.env-flap-bottom{clip-path:polygon(0 100%,50% 0,100% 100%);z-index:3;background:linear-gradient(#0000,#0e0c0a0d);height:45%;bottom:0;left:0;right:0}.env-flap-top{clip-path:polygon(0 0,100% 0,50% 100%);z-index:4;background:linear-gradient(#0e0c0a0a,#0000);height:42%;top:0;left:0;right:0}.env-sender-preview{z-index:5;flex-direction:column;gap:1px;max-width:38%;display:flex;position:absolute;top:8%;left:5%}.env-preview-sender-name{font-family:var(--fm);color:#0e0c0a94;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.34rem,.62vw,.46rem);overflow:hidden}.env-preview-sender-co{font-family:var(--fm);color:#0e0c0a5c;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.28rem,.55vw,.38rem);overflow:hidden}.env-recipient-preview{z-index:5;flex-direction:column;gap:3px;display:flex;position:absolute;top:35%;left:52%;right:3%}.env-preview-to-name{font-family:var(--fd);color:#0e0c0abf;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.55rem,1.2vw,.82rem);font-style:italic;line-height:1.25;overflow:hidden}.env-preview-to-detail{font-family:var(--fm);color:#0e0c0a7a;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.32rem,.7vw,.48rem);overflow:hidden}.env-sender-hw{z-index:5;mix-blend-mode:multiply;max-width:35%;position:absolute;top:7%;bottom:42%;left:4%}.env-sender-hw img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.env-recipient-hw{z-index:5;mix-blend-mode:multiply;position:absolute;inset:35% 3% 15% 48%}.env-recipient-hw img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.letter-mobile-view .envelope{max-width:100%;margin-top:14px}.config-wrap{flex-direction:column;flex-shrink:0;align-self:stretch;width:280px;min-height:0;display:flex}.config-panel{border-left:1px solid var(--rule);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.cfg-scroll{flex:1;min-height:0;overflow-y:auto}.cfg-footer{border-top:1px solid var(--rule);background:#0f0d0b;flex-shrink:0;padding:12px 14px}.letter-ghost-overlay{z-index:4;pointer-events:none;background:#f7f2eab8;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.letter-ghost-overlay span{font-family:var(--fm);letter-spacing:.14em;text-transform:uppercase;color:#0e0c0a61;font-size:.58rem}.cfg-section{border-bottom:1px solid var(--rule);padding:12px 0}.cfg-head{cursor:pointer;justify-content:space-between;align-items:center;padding:0 14px 7px;display:flex}.cfg-title{letter-spacing:.16em;text-transform:uppercase;color:#f7f2eac7;font-size:.62rem}.cfg-icon{color:#f7f2ea73;font-size:.63rem;transition:transform .2s;display:inline-block}.cfg-icon.open{transform:rotate(180deg)}.cfg-body{padding:0 14px}.cfg-sender-row{flex-direction:column;gap:6px;display:flex}.cfg-sender-input{color:#f7f2ead9;font-size:.72rem;font-family:var(--fm);box-sizing:border-box;background:#f7f2ea0d;border:1px solid #f7f2ea1f;border-radius:4px;outline:none;width:100%;padding:6px 9px;transition:border-color .18s}.cfg-sender-input::placeholder{color:#f7f2ea47}.cfg-sender-input:focus{border-color:#f7f2ea4d}.cfg-input-required{border-color:#c8645073!important}.cfg-input-required::placeholder{color:#c8786480}.cfg-sender-date{border-top:1px solid #f7f2ea12;margin-top:2px;padding-top:8px}.letter-size-radios{gap:6px;display:flex}.letter-size-radios--stack{flex-direction:column;gap:5px}.size-radio{cursor:pointer;color:#f7f2ea80;font-size:.68rem;font-family:var(--fm);background:#f7f2ea08;border:1px solid #f7f2ea1f;border-radius:4px;flex:1;align-items:center;gap:6px;padding:6px 10px;transition:all .18s;display:flex}.size-radio input{display:none}.size-radio.active{border-color:var(--verm);color:var(--paper);background:#c0392b1a}.size-radio:not(.active):hover{color:#f7f2eabf;border-color:#f7f2ea40}.size-scope-row{gap:4px;margin-bottom:8px;display:flex}.size-scope-btn{color:#f7f2ea61;font-family:var(--fm);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;text-align:center;background:0 0;border:1px solid #f7f2ea1a;border-radius:3px;flex:1;padding:5px 8px;font-size:.57rem;transition:all .15s}.size-scope-btn.active{color:#c8a850e6;background:#9a7c3f1f;border-color:#9a7c3f80}.size-scope-btn:not(.active):hover{color:#f7f2ea99;border-color:#f7f2ea33}.size-override-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto;box-shadow:0 0 5px #9a7c3f99}.size-reset-btn{color:#f7f2ea4d;width:100%;font-family:var(--fm);letter-spacing:.05em;cursor:pointer;text-align:center;background:0 0;border:1px dashed #f7f2ea1a;border-radius:3px;margin-top:5px;padding:4px 8px;font-size:.57rem;transition:all .15s}.size-reset-btn:hover{color:#f7f2ea8c;border-color:#f7f2ea40}.sidebar-source-compact{min-height:0;padding:4px 0}.chip-grid{flex-wrap:wrap;gap:4px;display:flex}.chip{cursor:pointer;color:#f7f2ea80;white-space:nowrap;font-size:.65rem;font-family:var(--fm);background:#f7f2ea08;border:1px solid #f7f2ea1f;border-radius:2px;align-items:center;gap:4px;padding:3px 8px;transition:all .18s;display:flex}.chip:hover{color:#f7f2eacc;border-color:#f7f2ea40}.chip.active{border-color:var(--verm);color:var(--paper);background:#c0392b1a}.chip-i{font-size:.68rem}.tog-row{border-bottom:1px solid #f7f2ea0a;align-items:flex-start;gap:9px;padding:6px 0;display:flex}.tog-row:last-child{border-bottom:none}.tog{cursor:pointer;background:#f7f2ea1f;border:none;border-radius:8px;flex-shrink:0;width:26px;height:15px;margin-top:2px;transition:background .2s;position:relative}.tog:after{content:"";background:#f7f2ea80;border-radius:50%;width:11px;height:11px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.tog.on{background:var(--verm)}.tog.on:after{background:#fff;transform:translate(11px)}.tog.on-g{background:var(--gold)}.tog.on-g:after{background:var(--ink);transform:translate(11px)}.tog-text{flex:1}.tog-title{color:#f7f2eabf;font-size:.68rem;line-height:1.3}.tog-desc{color:#f7f2ea85;margin-top:2px;font-size:.62rem;line-height:1.4}.lv{letter-spacing:.1em;border-radius:2px;flex-shrink:0;padding:2px 4px;font-size:.52rem}.lv1{color:#6aaa90;background:#3d6b5a33}.lv2{color:#c4a567;background:#9a7c3f33}.ctx-box{border-radius:var(--r);color:#f7f2eabf;width:100%;font-family:var(--fm);resize:none;background:#f7f2ea0a;border:1px solid #f7f2ea1a;height:64px;padding:8px 10px;font-size:.64rem;line-height:1.5;transition:border-color .18s}.ctx-box:focus{border-color:#f7f2ea40;outline:none}.ctx-box::placeholder{color:#f7f2ea61}.gen-btn{background:var(--verm);border-radius:var(--r);color:#fff;width:100%;font-family:var(--fm);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;margin-top:3px;padding:11px 14px;font-size:.61rem;transition:all .2s;display:flex}.gen-btn:hover:not(.loading){background:#a93226;transform:translateY(-1px);box-shadow:0 4px 16px #c0392b59}.gen-btn.loading{opacity:.7;pointer-events:none}.gen-btn-spin{border:1.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin}.act-row{gap:5px;margin-top:7px;display:flex}.approve-btn{border-radius:var(--r);color:#6aaa90;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;text-align:center;background:#3d6b5a26;border:1px solid #3d6b5a59;flex:1;padding:8px;font-size:.55rem;transition:all .18s}.approve-btn:hover{background:#3d6b5a40}.regen-btn{border-radius:var(--r);color:#f7f2ea73;cursor:pointer;font-size:.78rem;font-family:var(--fm);background:#f7f2ea0d;border:1px solid #f7f2ea1a;padding:8px 11px;transition:all .18s}.regen-btn:hover{color:#f7f2eacc;background:#f7f2ea1a}.regen-text-btn{border-radius:var(--r);color:#f7f2ea8c;letter-spacing:.06em;text-transform:uppercase;font-size:.58rem;font-family:var(--fm);cursor:pointer;white-space:nowrap;background:#7864501f;border:1px solid #f7f2ea26;justify-content:center;align-items:center;gap:5px;width:100%;margin-top:5px;padding:8px 12px;transition:all .18s;display:flex}.regen-text-btn:hover:not(:disabled){color:#f7f2ead9;background:#f7f2ea1a}.regen-text-btn:disabled{opacity:.3;cursor:not-allowed}.regen-text-btn.loading{opacity:.6;pointer-events:none}.edit-text-btn{border-radius:var(--r);color:#9a7c3fd9;width:100%;font-family:var(--fm);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #9a7c3f66;margin-bottom:4px;padding:8px 14px;font-size:.6rem;transition:all .18s}.edit-text-btn:hover{color:#9a7c3f;background:#9a7c3f1a;border-color:#9a7c3fb3}.pipe-bulk-gen{border-radius:var(--r);color:#e8856ee6;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:#c0392b1f;border:1px solid #c0392b66;flex-shrink:0;align-items:center;gap:6px;padding:7px 13px;font-size:.6rem;font-weight:600;transition:all .2s;display:flex}.pipe-bulk-gen:hover:not(:disabled){color:#f0a090;background:#c0392b3d;border-color:#c0392bb3;transform:translateY(-1px);box-shadow:0 3px 12px #c0392b2e}.pipe-bulk-gen:disabled{opacity:.3;cursor:default}.pipe-bulk-gen.loading{opacity:.5;pointer-events:none}.pipe-bulk-pending{border-radius:var(--r);color:#be9e50d9;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:#9a7c3f14;border:1px solid #9a7c3f52;flex-shrink:0;align-items:center;gap:6px;padding:7px 11px;font-size:.6rem;font-weight:600;transition:all .2s;display:flex}.pipe-bulk-pending:hover:not(:disabled){background:#9a7c3f2e;border-color:#9a7c3f99;transform:translateY(-1px)}.pipe-bulk-pending:disabled{opacity:.3;cursor:default}.pipe-bulk-pending.loading{opacity:.5;pointer-events:none}.pipe-bulk-approve{border-radius:var(--r);color:#6aaa90e6;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:#3d6b5a1f;border:1px solid #3d6b5a61;flex-shrink:0;align-items:center;gap:6px;padding:7px 13px;font-size:.6rem;font-weight:600;transition:all .2s;display:flex}.pipe-bulk-approve:hover:not(:disabled){background:#3d6b5a3d;border-color:#6aaa9099;transform:translateY(-1px)}.pipe-bulk-approve:disabled{opacity:.3;cursor:default}.pipe-bulk-icon{opacity:.85;font-size:.75rem}.fb-item{border-bottom:1px solid #f7f2ea0a;align-items:center;gap:9px;padding:5px 0;display:flex}.fb-item:last-child{border-bottom:none}.fb-icon{text-align:center;width:16px;font-size:.82rem}.fb-label{color:#f7f2ea99;flex:1;font-size:.61rem}.fb-st{color:#f7f2ea7a;white-space:nowrap;font-size:.57rem}.fb-st.ok{color:#4caf50}.pipeline-bar{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a080799;border-top:1px solid #f7f2ea0f;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:9px 18px;display:flex}.gen-progress-strip{width:100%;font-family:var(--fm);letter-spacing:.05em;color:#f7f2ea8c;align-items:center;gap:8px;padding:6px 2px 2px;font-size:.58rem;display:flex}.gen-progress-spin{border:1.5px solid #f7f2ea33;border-top-color:#f7f2eab3;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.8s linear infinite spin}.gen-progress-track{background:#f7f2ea1a;border-radius:2px;flex:1;min-width:60px;height:2px;overflow:hidden}.gen-progress-fill{background:#f7f2ea73;border-radius:2px;height:100%;transition:width .4s}.pipe-send-btn{background:var(--gold);border-radius:var(--r);color:var(--ink);font-family:var(--fm);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;opacity:.35;pointer-events:none;border:none;flex-shrink:0;align-items:center;gap:7px;margin-left:auto;padding:9px 22px;font-size:.72rem;font-weight:600;transition:all .2s;display:flex}.pipe-send-btn.ready{opacity:1;pointer-events:all;box-shadow:0 2px 12px #9a7c3f59}.pipe-send-btn.ready:hover{transform:translateY(-2px);box-shadow:0 6px 20px #9a7c3f80}.pipe-send-btn.ready:active{transform:translateY(0)}.pipe-send-icon{font-size:.9rem}.sent-popup{z-index:700;white-space:nowrap;background:#0e0c0a;border:1px solid #6aaa9066;border-radius:5px;align-items:center;gap:14px;max-width:92vw;padding:22px 28px;animation:.22s sentPopIn;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #000000a6,0 0 0 1px #6aaa901a}@keyframes sentPopIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.sent-popup-icon{color:#6aaa90;flex-shrink:0;font-size:1.1rem}.sent-popup-msg{font-family:var(--fm);letter-spacing:.06em;color:var(--paper);flex:1;font-size:.78rem}.sent-popup-close{color:#f7f2ea73;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.85rem;line-height:1}.sent-popup-close:hover{color:var(--paper)}.pdf-download-bar{z-index:700;background:#0e0c0a;border:1px solid #6aaa9066;border-radius:5px;align-items:center;gap:10px;max-width:92vw;padding:10px 16px;animation:.22s sentPopIn;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.pdf-download-label{font-family:var(--fm);letter-spacing:.08em;color:#f7f2ea80;white-space:nowrap;font-size:.72rem}.pdf-download-btn{color:#6aaa90;cursor:pointer;font-family:var(--fm);letter-spacing:.05em;white-space:nowrap;background:#6aaa901f;border:1px solid #6aaa9059;border-radius:3px;padding:5px 12px;font-size:.75rem}.pdf-download-btn:hover{background:#6aaa9038}.pdf-download-close{color:#f7f2ea59;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 0 0 4px;font-size:.85rem;line-height:1}.pdf-download-close:hover{color:var(--paper)}.mobile-topbar{height:var(--nav);border-bottom:1px solid var(--rule);z-index:200;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:none;position:relative}.m-logo{font-family:var(--fd);color:var(--paper);font-size:1.08rem;font-weight:700}.m-logo em{opacity:.5;font-size:.88rem;font-style:italic;font-weight:400}.m-conn-btn{color:#f7f2ea80;font-family:var(--fm);cursor:pointer;background:0 0;border:1px solid #f7f2ea26;border-radius:20px;align-items:center;gap:5px;padding:5px 10px;font-size:.58rem;display:flex}.mobile-pills-bar{border-bottom:1px solid var(--rule);flex-shrink:0;align-items:center;gap:8px;padding:6px 14px;display:none}.mobile-pills-bar .tb-select{flex:1;min-width:0}.mobile-wc-bar{border-bottom:1px solid var(--rule);flex-shrink:0;justify-content:space-between;align-items:center;padding:5px 16px;display:none}.m-wc-label{color:#f7f2ea8c;font-size:.57rem}.letter-mobile-view{padding:12px;padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom) + 112px);flex:1;display:none;overflow-y:auto}.letter-mobile-view .letter-paper{aspect-ratio:5.5/8.6;max-width:100%}.letter-mobile-view .letter-paper.square-paper{aspect-ratio:1}.letter-mobile-view .letter-paper.half-paper{aspect-ratio:5.5/8.5}.letter-mobile-view .letter-paper:after{left:38px}.letter-mobile-view .letter-paper.has-svg-preview{background:#fff}.letter-mobile-view .letter-paper.has-svg-preview:after,.letter-mobile-view .letter-paper.has-svg-preview:before{display:none}.letter-mobile-view .letter-watermark{letter-spacing:.4em;color:#a0410f38;font-size:3rem}.letter-mobile-view .letter-top{gap:12px;padding:14px 14px 12px 50px}.letter-mobile-view .letter-addr-line{font-size:.6rem}.letter-mobile-view .letter-top.letter-top-hw{padding:12px 10px 6px 44px}.letter-mobile-view .letter-hw-recipient{height:36px}.letter-mobile-view .letter-hw-right{height:82px}.letter-mobile-view .letter-hw-footer{padding:2px 14px 12px 50px}.letter-mobile-view .letter-body{padding:10px 14px 6px 50px;font-size:.86rem;line-height:1.75}.letter-mobile-view .letter-sig{padding:0 14px 6px 50px;font-size:.9rem}.letter-mobile-view .letter-ps{padding:0 14px 6px 50px;font-size:.72rem}.mobile-gen-bar{bottom:calc(var(--tab) + env(safe-area-inset-bottom));z-index:250;background:linear-gradient(#0000,#0e0c0a 30%);flex-direction:column;gap:6px;padding:8px 14px 6px;display:none;position:fixed;left:0;right:0}.mgb-row,.mgb-bulk-row{gap:7px;display:flex}.mgb-bulk-gen{border-radius:var(--r);color:#e8856e;font-family:var(--fm);letter-spacing:.07em;cursor:pointer;white-space:nowrap;background:#c0392b2e;border:1px solid #c0392b8c;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:.58rem;font-weight:600;transition:all .18s;display:flex}.mgb-bulk-gen:disabled{opacity:.35;cursor:default}.mgb-bulk-gen.loading{opacity:.55;pointer-events:none}.mgb-bulk-approve{border-radius:var(--r);color:#6aaa90;font-family:var(--fm);letter-spacing:.07em;cursor:pointer;white-space:nowrap;background:#3d6b5a2e;border:1px solid #3d6b5a8c;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:.58rem;font-weight:600;transition:all .18s;display:flex}.mobile-tabbar{height:var(--tab);z-index:300;padding-bottom:env(safe-area-inset-bottom);background:#161310;border-top:1px solid #f7f2ea1a;flex-direction:column;display:none;position:fixed;bottom:0;left:0;right:0}.tab-items{height:100%;display:flex}.tab-item{cursor:pointer;color:#f7f2ea8c;font-family:var(--fm);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:7px 2px;transition:color .2s;display:flex;position:relative}.tab-item.active{color:var(--paper)}.tab-item.active:before{content:"";background:var(--verm);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:20%;right:20%}.tab-item.done{color:var(--gold)}.tab-icon{font-size:1.08rem;line-height:1}.tab-label{letter-spacing:.07em;text-transform:uppercase;font-size:.52rem}.tab-badge{background:var(--verm);color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:.48rem;display:flex;position:absolute;top:5px;right:calc(50% - 16px)}.mobile-panel{z-index:400;background:#161310;flex-direction:column;display:none;position:fixed;inset:0}.mobile-panel.visible{display:flex}.panel-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-title{font-family:var(--fd);color:var(--paper);font-size:.98rem;font-style:italic}.panel-close{color:#f7f2ea80;cursor:pointer;background:#f7f2ea14;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex}.sheet{z-index:410;padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom));background:#111009;border-top:1px solid #f7f2ea1f;border-radius:12px 12px 0 0;max-height:86vh;transition:transform .32s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}@media (width>=769px){.sheet{max-height:90vh;padding-bottom:16px}}.sheet.open{transform:none}.sheet-handle{background:#f7f2ea33;border-radius:2px;width:34px;height:3px;margin:9px auto 4px}.sheet .panel-header{z-index:2;background:#111009;border-bottom:1px solid #f7f2ea1a;position:sticky;top:0}.sheet .config-panel{border-left:none;flex:none;overflow:visible}.sheet .cfg-scroll{flex:none;overflow:visible}.src-sheet-grid{grid-template-columns:repeat(3,1fr);gap:7px;padding:0 14px 14px;display:grid}.src-sheet-btn{cursor:pointer;color:var(--paper);text-align:center;font-family:var(--fm);background:#f7f2ea0a;border:1px solid #f7f2ea17;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:13px 6px;transition:all .18s;display:flex;position:relative}.src-sheet-btn:active,.src-sheet-btn:hover{background:#f7f2ea17}.src-sheet-btn.active{background:#c0392b26;border-color:#c0392b73}.src-sheet-btn.needs-conn{border-style:dashed;border-color:#f7f2ea29}.src-sheet-btn.needs-conn .src-sheet-icon,.src-sheet-btn.needs-conn .src-sheet-name{opacity:.5}.src-sheet-btn .src-conn-tag{font-size:.38rem;position:absolute;top:4px;right:4px}.src-sheet-icon{font-size:1.25rem}.src-sheet-name{color:#f7f2eaa6;font-size:.6rem}.src-sec-title{letter-spacing:.14em;text-transform:uppercase;color:#f7f2ea73;grid-column:1/-1;margin:7px 0 2px;font-size:.54rem}.sheet-overlay{z-index:400;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a080699;display:none;position:fixed;inset:0}.sheet-overlay.show{display:block}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:600;opacity:0;pointer-events:none;background:#0a0806d9;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:#161310;border:1px solid #f7f2ea1a;border-radius:4px;flex-direction:column;width:520px;max-width:95vw;max-height:90vh;transition:transform .25s;display:flex;overflow:hidden;transform:translateY(12px);box-shadow:0 24px 80px #00000080}.modal-overlay.open .modal{transform:none}.modal-header{border-bottom:1px solid var(--rule);flex-shrink:0;align-items:center;padding:16px 18px;display:flex}.modal-title{font-family:var(--fd);color:var(--paper);font-size:1rem;font-style:italic}.modal-close{border-radius:var(--r);color:#f7f2ea99;cursor:pointer;width:26px;height:26px;font-size:.82rem;font-family:var(--fm);background:#f7f2ea0f;border:1px solid #f7f2ea1a;justify-content:center;align-items:center;margin-left:auto;transition:all .18s;display:flex}.modal-close:hover{color:var(--paper);background:#f7f2ea1f}.modal-body{padding:16px 18px;overflow-y:auto}.conn-list{flex-direction:column;gap:6px;display:flex}.conn-item{border-radius:var(--r);background:#f7f2ea08;border:1px solid #f7f2ea14;align-items:center;gap:11px;padding:11px 12px;transition:border-color .18s;display:flex}.conn-item:hover{border-color:#f7f2ea26}.conn-item.connected{background:#4caf500a;border-color:#4caf5040}.conn-emoji{text-align:center;flex-shrink:0;width:24px;font-size:1.15rem}.conn-info{flex:1;min-width:0}.conn-name{color:#f7f2ead9;margin-bottom:1px;font-size:.7rem}.conn-detail{color:#f7f2ea85;font-size:.58rem;line-height:1.3}.conn-detail.ok{color:#4caf50}.conn-action{border-radius:var(--r);font-family:var(--fm);letter-spacing:.08em;cursor:pointer;white-space:nowrap;border:1px solid;flex-shrink:0;padding:5px 11px;font-size:.58rem;transition:all .18s}.conn-action.connect{color:#f7f2ea99;background:0 0;border-color:#f7f2ea33}.conn-action.connect:hover{border-color:var(--verm);color:var(--paper);background:#c0392b1a}.conn-action.disconnect{color:#4caf50;background:0 0;border-color:#4caf504d}.modal-perms{border-radius:var(--r);background:#9a7c3f0f;border:1px solid #9a7c3f26;margin-top:12px;padding:11px 12px}.perms-title{letter-spacing:.14em;text-transform:uppercase;color:#9a7c3fb3;margin-bottom:6px;font-size:.57rem}.perm-row{color:#f7f2eaa6;align-items:flex-start;gap:6px;margin-bottom:3px;font-size:.61rem;line-height:1.4;display:flex}.perm-icon{color:#9a7c3fb3;flex-shrink:0}.confirm-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:600;opacity:0;pointer-events:none;background:#0a0806e6;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.confirm-overlay.open{opacity:1;pointer-events:all}.confirm-card{text-align:center;background:#0e0c0a;border:1px solid #f7f2ea1f;border-radius:4px;width:410px;max-width:95vw;max-height:92vh;padding:26px;transition:transform .3s;overflow-y:auto;transform:scale(.95)}.confirm-overlay.open .confirm-card{transform:scale(1)}.confirm-icon{font-family:var(--fd);color:#f7f2ea47;margin-bottom:12px;font-size:2.2rem;font-style:italic}.confirm-title{font-family:var(--fd);color:var(--paper);margin-bottom:6px;font-size:1.1rem;font-style:italic}.confirm-desc{color:#f7f2ea9e;margin-bottom:18px;font-size:.66rem;line-height:1.6}.confirm-stats{border-radius:var(--r);background:#f7f2ea08;border:1px solid #f7f2ea14;justify-content:center;gap:18px;margin-bottom:18px;padding:13px;display:flex}.cs-val{font-family:var(--fd);color:var(--paper);font-size:1.4rem;display:block}.cs-lbl{letter-spacing:.1em;text-transform:uppercase;color:#f7f2ea85;font-size:.56rem}.confirm-fb{text-align:left;margin-bottom:18px}.cf-lbl{letter-spacing:.14em;text-transform:uppercase;color:#f7f2ea85;margin-bottom:6px;font-size:.57rem}.cf-opts{flex-direction:column;gap:5px;display:flex}.cf-opt{border-radius:var(--r);cursor:pointer;border:1px solid #f7f2ea14;align-items:center;gap:8px;padding:8px 11px;transition:border-color .18s;display:flex}.cf-opt:hover{border-color:#f7f2ea33}.cf-opt.selected{border-color:var(--sage);background:#3d6b5a14}.cf-check{color:#0000;border:1px solid #f7f2ea33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:13px;height:13px;font-size:.48rem;display:flex}.cf-opt.selected .cf-check{background:var(--sage);border-color:var(--sage);color:#fff}.cf-text{color:#f7f2eaa6;font-size:.63rem}.cf-opt-readonly{cursor:default;pointer-events:none;opacity:.85}.confirm-actions{gap:7px;display:flex}.conf-cancel{border-radius:var(--r);color:#f7f2ea99;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;background:#f7f2ea0d;border:1px solid #f7f2ea1a;flex:1;padding:10px;font-size:.61rem;transition:all .18s}.conf-cancel:hover{background:#f7f2ea1a}.conf-confirm{background:var(--verm);border-radius:var(--r);color:#fff;font-family:var(--fm);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;flex:2;padding:10px;font-size:.61rem;transition:all .2s}.conf-confirm:hover{background:#a93226;box-shadow:0 4px 16px #c0392b4d}.plans-modal{width:98vw!important;max-width:1280px!important}.plans-modal .modal-header{padding:22px 30px}.plans-modal .modal-title{letter-spacing:.1em;font-size:.85rem}.plans-modal .modal-body{padding:22px 30px 30px;overflow-y:auto}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:0 0 20px;display:grid}.plans-loading{text-align:center;color:#f7f2ea66;padding:48px;font-size:.76rem}.plan-card{border:1px solid #f7f2ea1f;border-top:3px solid var(--plan-color,#f7f2ea26);background:#f7f2ea08;border-radius:6px;flex-direction:column;gap:0;padding:24px 22px 20px;transition:border-color .2s,background .2s;display:flex;position:relative}.plan-card:hover{background:#f7f2ea0e}.plan-card-current{border-color:var(--plan-color,#888)!important;background:#f7f2ea0f!important}.plan-card-featured{border-color:var(--verm)!important;background:#c0392b0f!important}.plan-popular-badge{letter-spacing:.14em;text-transform:uppercase;color:var(--verm);margin-bottom:12px;font-size:.58rem;font-weight:700}.plan-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.plan-name{color:var(--plan-color,var(--paper));letter-spacing:.03em;text-transform:uppercase;font-size:.95rem;font-weight:800}.plan-current-badge{letter-spacing:.09em;text-transform:uppercase;background:var(--plan-color,#888);color:#fff;white-space:nowrap;border-radius:3px;flex-shrink:0;margin-top:2px;padding:3px 7px;font-size:.53rem}.plan-price{font-family:var(--fd);color:var(--paper);margin-bottom:7px;font-size:1.8rem;font-style:italic;line-height:1}.plan-quota{color:#f7f2ea85;margin-bottom:16px;font-size:.74rem;line-height:1.4}.plan-divider{border:none;border-top:1px solid #f7f2ea14;margin:0 0 14px}.plan-features{flex-direction:column;flex:1;gap:7px;margin-bottom:20px;list-style:none;display:flex}.plan-features li{color:#f7f2eac7;padding-left:15px;font-size:.74rem;line-height:1.55;position:relative}.plan-features li:before{content:"·";color:var(--plan-color,#888);font-size:.95rem;line-height:1.25;position:absolute;left:2px}.plan-upgrade-btn{border:1px solid var(--plan-color,#f7f2ea33);border-radius:var(--r);color:var(--plan-color,var(--paper));font-family:var(--fm);letter-spacing:.07em;cursor:pointer;text-align:center;background:0 0;width:100%;margin-top:auto;padding:11px 14px;font-size:.7rem;font-weight:600;transition:all .18s}.plan-upgrade-btn:hover:not(:disabled){background:#ffffff12;box-shadow:0 2px 14px #0003}.plan-upgrade-btn:disabled{opacity:.5;cursor:not-allowed}.plan-current-tag{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:#f7f2ea59;border-radius:var(--r);background:#f7f2ea0a;margin-top:auto;padding:11px 14px;font-size:.64rem}.plans-banner{border-radius:var(--r);margin-bottom:16px;padding:12px 16px;font-size:.74rem;line-height:1.55}.plans-banner-ok{color:#78c882e6;background:#3c96501f;border:1px solid #3c96504d}.plans-banner-warn{color:#dcaa3cd9;background:#c88c1e1a;border:1px solid #c88c1e47}.plans-billing-row{text-align:center;border-top:1px solid var(--rule);margin-top:8px;padding-top:16px}.plans-billing-link{font-family:var(--fm);color:#f7f2ea73;cursor:pointer;background:0 0;border:none;padding:0;font-size:.7rem;transition:color .18s}.plans-billing-link:hover{color:#f7f2eacc}.plans-billing-link:disabled{opacity:.5;cursor:not-allowed}.auth-input{border-radius:var(--r);width:100%;color:var(--paper);font-family:var(--fm);box-sizing:border-box;background:#f7f2ea0d;border:1px solid #f7f2ea26;outline:none;padding:9px 12px;font-size:.7rem;transition:border-color .18s}.auth-input:focus{border-color:#c0392b80}.auth-switch{color:#c0392bcc;font-family:var(--fm);cursor:pointer;background:0 0;border:none;padding:0;font-size:.63rem;text-decoration:underline}.auth-switch:hover{color:#e8856e}.toast{bottom:calc(var(--tab) + env(safe-area-inset-bottom) + 10px);border-radius:var(--r);color:#f7f2eacc;box-shadow:var(--sh);z-index:700;opacity:0;pointer-events:none;background:#1e1a16;border:1px solid #f7f2ea1f;border-left-width:3px;align-items:center;max-width:calc(100vw - 28px);padding:9px 14px 9px 12px;font-size:.64rem;transition:all .25s;display:flex;position:fixed;right:14px;transform:translateY(8px)}.toast.show{opacity:1;transform:none}.toast.success{border-left-color:#4caf7d}.toast.error{border-left-color:#e05c5c}.toast.warning{border-left-color:#e09a3a}.toast.info{border-left-color:#f7f2ea40}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.letter-body p,.letter-sig,.letter-ps{animation:.32s both fadeUp}.letter-body p:nth-child(2){animation-delay:50ms}.letter-body p:nth-child(3){animation-delay:.1s}.letter-body p:nth-child(4){animation-delay:.15s}@media (width<=900px){.config-wrap{display:none}}@media (width<=768px){.topnav,.sidebar,.canvas-toolbar,.legend,.pipeline-bar,.letter-area{display:none}.mobile-topbar,.mobile-tabbar,.mobile-pills-bar,.mobile-wc-bar{display:flex}.shell{height:calc(100dvh - var(--nav));flex-direction:column}.canvas{height:calc(100dvh - var(--nav) - var(--tab));flex-direction:column;display:flex;overflow:hidden}.letter-mobile-view{display:block}.mobile-gen-bar{display:flex}body{overflow:hidden}.step-view{gap:14px;max-width:100%;padding:16px}.step-view-title{font-size:.75rem}.cfg2-go-bar{display:none}.step-next-btn{text-align:center;width:100%;padding:13px 20px;font-size:.68rem}.step-view .src-sheet-grid{padding:0}.studio-callout{margin:10px 0 4px;padding:11px 12px}.letter-mobile-view{min-height:0;padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom) + 130px);flex:1;overflow-y:auto}html{font-size:16px}}@media (width<=375px){.tab-label{display:none}.tab-icon{font-size:1.2rem}.step-view{padding:12px}html{font-size:15px}}@media (width<=1200px) and (width>=901px){.config-wrap{width:220px}}@media (width<=1100px) and (width>=901px){.config-wrap{width:200px}}@media (width<=1200px) and (width>=769px){.nav-user-email{display:none}.nav-right{gap:8px}.nav-conn-badge{padding:3px 8px;font-size:.58rem}.nav-plan-badge{padding:2px 7px;font-size:.55rem}.nav-studio-btn{padding:3px 9px;font-size:.58rem}}@media (width<=1000px) and (width>=769px){.nav-divider{margin:0 10px}.nav-step{padding:5px 9px;font-size:.63rem}.nav-logo-sub{display:none}}@media (width<=1100px) and (width>=769px){.canvas-toolbar{min-height:unset;flex-wrap:wrap;gap:4px 6px;padding:5px 10px}.tb-sep{display:none}}.tb-cfg-btn{display:none}@media (width<=900px) and (width>=769px){.tb-cfg-btn{border-radius:var(--r);color:#f7f2eab3;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:#f7f2ea12;border:1px solid #f7f2ea26;align-items:center;gap:5px;margin-left:auto;padding:4px 11px;font-size:.6rem;transition:all .18s;display:flex}.tb-cfg-btn:hover{color:var(--paper);background:#f7f2ea24}}@media (width<=1100px){.style-modal{width:94vw!important;max-width:94vw!important}.style-picker-layout{min-height:unset;flex-direction:column;max-height:82vh;overflow-y:auto}.style-grid-col{border-right:none;border-bottom:1px solid var(--rule);width:100%;padding:14px 16px}.style-grid{grid-template-columns:repeat(4,1fr)}.style-controls-col{padding:14px 16px}.style-live-preview{height:140px;max-height:140px}}@media (width<=1024px){.plans-modal{max-width:98vw!important}.plans-modal .modal-header,.plans-modal .modal-body{padding-left:18px;padding-right:18px}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}}@media (width<=1024px) and (width>=769px){.sidebar{width:220px}.letter-paper,.envelope{max-width:100%}}@media (width<=900px) and (width>=769px){.step-view{max-width:100%;padding:20px}.modal{width:94vw;max-width:94vw}}.linedraw-panel{border-top:1px solid var(--rule);padding:12px 14px 16px}.linedraw-title{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.linedraw-title span:first-child{letter-spacing:.12em;text-transform:uppercase;color:#f7f2eab3;font-size:.68rem}.linedraw-sub{color:#f7f2ea66;font-size:.6rem}.linedraw-upload-btn{border-radius:var(--r);color:#f7f2ea99;cursor:pointer;background:#f7f2ea12;border:1px dashed #f7f2ea33;padding:7px 14px;font-size:.65rem;transition:background .15s;display:inline-block}.linedraw-upload-btn:hover{background:#f7f2ea21}.linedraw-upload-btn.loading{opacity:.5;pointer-events:none}.linedraw-preview-wrap{align-items:flex-start;gap:10px;display:flex}.linedraw-preview{object-fit:contain;background:#fff;border:1px solid #f7f2ea26;border-radius:2px;width:80px;height:80px}.linedraw-controls{flex-direction:column;flex:1;gap:6px;display:flex}.linedraw-pos-select{border-radius:var(--r);color:#f7f2ead9;cursor:pointer;appearance:auto;background:#1a1612;border:1px solid #f7f2ea33;width:100%;padding:5px 8px;font-family:inherit;font-size:.63rem}.linedraw-pos-select option{color:#f7f2ead9;background:#1a1612}.linedraw-clear-btn{border-radius:var(--r);color:#f7f2eab3;cursor:pointer;background:#c0392b26;border:1px solid #c0392b4d;padding:5px 10px;font-family:inherit;font-size:.62rem}.linedraw-clear-btn:hover{background:#c0392b40}.style-trigger-btn{color:#f7f2eab3;cursor:pointer;font-size:.65rem;font-family:var(--fm);white-space:nowrap;background:0 0;border:1px solid #f7f2ea26;border-radius:20px;align-items:center;gap:6px;padding:4px 11px;transition:all .2s;display:flex}.style-trigger-btn:hover{color:#f7f2eae6;border-color:#f7f2ea4d}.style-trigger-badge{letter-spacing:.05em;background:#f7f2ea1f;border-radius:10px;padding:1px 6px;font-size:.58rem;font-weight:700}.style-modal{width:96vw!important;max-width:1100px!important}.style-modal-body{padding:0!important}.style-picker-layout{min-height:560px;display:flex}.style-grid-col{border-right:1px solid var(--rule);flex-shrink:0;width:580px;padding:20px;overflow-y:auto}.style-controls-col{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex}.style-section-label{letter-spacing:.12em;text-transform:uppercase;color:#f7f2ea59;margin-bottom:10px;font-size:.58rem}.style-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.style-card{cursor:pointer;background:#f7f1e8;border:2px solid #b4a89440;border-radius:7px;flex-direction:column;align-items:stretch;height:100px;padding:0;transition:all .18s;display:flex;overflow:hidden}.style-card:hover{border-color:#b4a89499;transform:translateY(-1px);box-shadow:0 3px 8px #0003}.style-card-selected{border-color:var(--verm)!important;box-shadow:0 0 0 1px var(--verm),0 3px 8px #c0392b40!important}.style-card-hw{flex:1;justify-content:center;align-items:center;min-height:0;padding:10px 10px 4px;display:flex;overflow:hidden}.style-card-img{object-fit:contain;max-width:100%;max-height:52px;display:block}.style-card-name{color:#0e0c0a73;font-size:.5rem;font-family:var(--fm);letter-spacing:.04em;text-align:center;background:#f0ead8;border-top:1px solid #0e0c0a0f;padding:3px 6px 6px;line-height:1.2}.style-card-selected .style-card-name{color:#0e0c0abf;background:#ede4ce}@keyframes previewFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes svgDraw{to{stroke-dashoffset:0}}.style-live-preview{background:#0e0c0ab3;border:1px solid #f7f2ea14;border-radius:5px;flex:1;justify-content:center;align-items:center;height:220px;max-height:220px;padding:20px;display:flex;position:relative;overflow:hidden}.style-live-svg{justify-content:center;align-items:center;width:100%;height:100%;animation:.35s previewFadeIn;display:flex}.style-live-svg svg{width:auto;max-width:100%;height:auto;max-height:150px}.style-live-svg svg path,.style-live-svg svg polyline,.style-live-svg svg line{stroke:#fffffff2!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important}.style-live-placeholder{font-family:var(--fm);color:#f7f2ea59;letter-spacing:.04em;justify-content:center;align-items:center;width:100%;height:100%;font-size:.62rem;display:flex}.style-live-placeholder-img{justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex}.style-live-err{color:#f88888b3;font-size:.58rem}.style-sliders{flex-direction:column;gap:14px;display:flex}.style-slider-row{flex-direction:column;gap:6px;display:flex}.style-slider-labels{justify-content:space-between;align-items:center;display:flex}.style-slider-labels span:first-child{color:#f7f2eab3;font-size:.65rem}.style-slider-val{color:#f7f2ea80;font-variant-numeric:tabular-nums;font-size:.62rem}.style-slider-ends{align-items:center;gap:8px;display:flex}.style-slider-ends span{color:#f7f2ea59;white-space:nowrap;font-size:.58rem}.style-range{accent-color:var(--verm);cursor:pointer;flex:1;height:2px}.style-apply-btn{background:var(--verm);border-radius:var(--r);color:#fff;font-family:var(--fm);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;margin-top:auto;padding:11px 18px;font-size:.68rem;font-weight:600;transition:all .2s}.style-apply-btn:hover{background:#a93226;box-shadow:0 4px 16px #c0392b59}.style-sidebar-preview{flex-direction:column;gap:10px;display:flex}.style-sidebar-thumb-svg{background:#0e0c0ab3;border:1px solid #f7f2ea0f;border-radius:3px;width:100%;height:80px;padding:0;display:block;overflow:hidden}.style-sidebar-thumb-svg svg{width:100%;height:100%;display:block;overflow:hidden}.style-sidebar-thumb-svg svg path,.style-sidebar-thumb-svg svg polyline,.style-sidebar-thumb-svg svg line{stroke:#ffffffe6!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important}.style-sidebar-thumb-empty{width:100%;height:64px;font-family:var(--fb);color:#f7f2ea33;background:#0e0c0a80;border:1px solid #f7f2ea0f;border-radius:3px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.style-sidebar-meta{flex-direction:column;gap:3px;display:flex}.style-sidebar-name{color:#f7f2eabf;letter-spacing:.04em;font-size:.65rem}.style-sidebar-vals{color:#f7f2ea61;font-size:.6rem}.style-sidebar-btn{border-radius:var(--r);color:#f7f2eab3;font-family:var(--fm);cursor:pointer;letter-spacing:.06em;background:#f7f2ea0f;border:1px solid #f7f2ea1f;padding:8px 12px;font-size:.63rem;transition:all .15s}.style-sidebar-btn:hover{color:#f7f2eae6;background:#c0392b26;border-color:#c0392b66}.sheet-picker-modal{max-width:420px!important}.sheet-picker-body{flex-direction:column;max-height:72vh;display:flex;padding:0!important}.sheet-list{flex-direction:column;flex:1;gap:4px;min-height:0;margin:0;padding:8px 10px 6px;list-style:none;display:flex;overflow-y:auto}.sheet-item{text-align:left;border-radius:var(--r);cursor:pointer;width:100%;font-family:var(--fm);background:#f7f2ea08;border:1px solid #f7f2ea12;align-items:center;gap:10px;padding:9px 12px;transition:all .16s;display:flex}.sheet-item:hover{background:#f7f2ea12;border-color:#4caf5059}.sheet-item-icon{opacity:.75;flex-shrink:0;font-size:.8rem}.sheet-item-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.sheet-item-name{color:#f7f2eae6;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.sheet-item-date{color:#f7f2ea61;letter-spacing:.02em;font-size:.58rem}.sheet-item-arrow{color:#f7f2ea4d;flex-shrink:0;font-size:.72rem;transition:color .16s}.sheet-item:hover .sheet-item-arrow{color:#4caf50cc}.sheet-picker-empty{color:#f7f2ea66;text-align:center;font-size:.72rem;font-family:var(--fm);padding:28px 18px}.sheet-picker-err{border-radius:var(--r);color:#dc6450e6;font-size:.7rem;font-family:var(--fm);background:#c0392b14;border:1px solid #c0392b4d;margin:12px 18px;padding:9px 12px}.sheet-manual-row{border-top:1px solid var(--rule);flex-shrink:0;padding:12px 14px 14px}.sheet-manual-label{letter-spacing:.08em;text-transform:uppercase;color:#f7f2ea59;font-size:.58rem;font-family:var(--fm);margin-bottom:8px;display:block}.sheet-manual-form{gap:7px;display:flex}.sheet-manual-input{border-radius:var(--r);color:#f7f2ead1;min-width:0;font-family:var(--fm);background:#f7f2ea0a;border:1px solid #f7f2ea1a;outline:none;flex:1;padding:7px 10px;font-size:.64rem;transition:border-color .16s}.sheet-manual-input::placeholder{color:#f7f2ea40}.sheet-manual-input:focus{border-color:#f7f2ea47}.sheet-manual-btn{border-radius:var(--r);color:#f7f2eabf;font-family:var(--fm);letter-spacing:.07em;cursor:pointer;white-space:nowrap;background:#f7f2ea12;border:1px solid #f7f2ea26;flex-shrink:0;padding:7px 13px;font-size:.63rem;transition:all .16s}.sheet-manual-btn:hover{color:var(--paper);background:#f7f2ea1f;border-color:#f7f2ea47}.nav-back-btn{color:#f7f2ea8c;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:6px 10px 6px 4px;font-size:.85rem;line-height:1;transition:color .18s}.nav-step{pointer-events:none;-webkit-user-select:none;user-select:none}.compose-step-footer{border-top:1px solid var(--rule);background:var(--bg);flex-direction:column;gap:8px;padding:14px 18px;display:flex}.compose-advance-btn{border-radius:var(--r);color:#e8856e;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;text-align:center;background:#c0392b2e;border:1px solid #c0392b73;width:100%;padding:11px 20px;font-size:.67rem;font-weight:700;transition:all .18s}.compose-advance-btn:hover:not(:disabled){color:#f0a090;background:#c0392b4d;border-color:#c0392bb3}.compose-advance-btn:disabled{opacity:.4;cursor:default}.compose-advance-btn.ready{background:#c0392b38;border-color:#c0392b99}.hw-step{position:relative}.hw-render-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:300px;padding:60px 24px;display:flex}.hw-render-spinner{border:2px solid #f7f2ea1f;border-top-color:#c0392bb3;border-radius:50%;flex-shrink:0;width:44px;height:44px;animation:.9s linear infinite spin}.hw-render-label{font-family:var(--fm);color:#f7f2eab3;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.8rem}.hw-render-sub{font-family:var(--fm);color:#f7f2ea59;letter-spacing:.04em;margin:0;font-size:.62rem}.hw-step-footer{border-left:1px solid var(--rule);background:var(--bg);flex-direction:column;flex-shrink:0;justify-content:center;align-items:stretch;gap:10px;width:220px;padding:28px 16px;display:flex}.hw-back-btn{border-radius:var(--r);color:#f7f2ea80;font-family:var(--fm);letter-spacing:.06em;cursor:pointer;white-space:nowrap;text-align:center;background:0 0;border:1px solid #f7f2ea1f;padding:8px 14px;font-size:.63rem;transition:all .18s}.hw-step-footer .compose-advance-btn{flex:0;width:100%;margin:0}.hw-step-footer .regen-text-btn{flex-shrink:0;width:100%;margin:0}.canvas-toolbar-cfg{justify-content:flex-end}.nav-step{cursor:default!important}.nav-step:hover{color:inherit!important}.nav-step.active:hover{color:var(--paper)!important}.nav-step.done:hover{color:var(--gold)!important}.step-num{letter-spacing:.02em;width:20px;height:20px;font-size:.58rem}.nav-back-btn{color:#f7f2ea73;letter-spacing:0;border-right:1px solid #f7f2ea1a;margin-right:12px;padding:4px 14px 4px 2px;font-size:.78rem}.nav-back-btn:hover{color:#f7f2ead9}.nav-arrow{color:#f7f2ea38;padding:0 4px}.nav-step.active:after{height:1px;left:8px;right:8px}.compose-step-footer{border-top:1px solid #f7f2ea12;gap:10px;padding:16px 18px 18px}.compose-step-footer .regen-text-btn{letter-spacing:.09em;color:#f7f2ea73;border-color:#f7f2ea1a;margin:0;padding:9px 14px;font-size:.6rem}.compose-advance-btn{letter-spacing:.1em;background:linear-gradient(135deg,#c0392b38 0%,#c0392b26 100%);border:1px solid #c0392b80;padding:13px 20px;font-size:.65rem;transition:all .22s;box-shadow:0 2px 12px #c0392b1f}.compose-advance-btn:hover:not(:disabled){background:linear-gradient(135deg,#c0392b59 0%,#c0392b40 100%);border-color:#c0392bbf;transform:translateY(-1px);box-shadow:0 4px 20px #c0392b38}.hw-render-loading{background:radial-gradient(at 50% 40%,#c0392b0f 0%,#0000 65%);min-height:380px}.hw-render-spinner{border:1.5px solid #c0392bbf;border-color:#c0392bbf #c0392b4d #f7f2ea12 #f7f2ea12;width:52px;height:52px;animation:.8s cubic-bezier(.55,.15,.45,.85) infinite spin;box-shadow:0 0 24px #c0392b1a}.hw-render-label{font-family:var(--fd);color:#f7f2eabf;letter-spacing:.01em;text-transform:none;font-size:.95rem;font-style:italic}.hw-render-sub{letter-spacing:.1em;color:#f7f2ea47;text-transform:uppercase;font-size:.6rem}.hw-step-footer{background:#0f0d0bcc;border-top:none;border-left:1px solid #f7f2ea12;gap:10px;padding:28px 16px}.hw-back-btn{letter-spacing:.09em;text-transform:uppercase;color:#f7f2ea61;border-color:#f7f2ea17;padding:9px 14px;font-size:.6rem}.hw-back-btn:hover{color:#f7f2eab8;border-color:#f7f2ea33}.hw-step-footer .compose-advance-btn{font-size:.65rem}.hw-step-footer .regen-text-btn{letter-spacing:.08em;color:#f7f2ea73;border-color:#f7f2ea1a;width:auto;margin:0;padding:9px 14px;font-size:.6rem}.canvas-toolbar-cfg{background:#0e0c0a66;border-bottom:1px solid #f7f2ea0d;min-height:40px}@media (width>=901px){.canvas-toolbar-cfg{display:none}}.step5-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.print-step-label{background:#0c0a09b3;border-bottom:1px solid #f7f2ea12;flex-shrink:0;align-items:center;gap:10px;height:38px;padding:0 20px;display:flex;position:relative;overflow:hidden}.psl-dot{background:var(--verm);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.4s ease-in-out infinite psl-pulse;box-shadow:0 0 10px #c0392bb3}@keyframes psl-pulse{0%,to{opacity:1;box-shadow:0 0 10px #c0392bb3}50%{opacity:.45;box-shadow:0 0 4px #c0392b4d}}.psl-title{font-family:var(--fm);letter-spacing:.18em;text-transform:uppercase;color:#f7f2eabf;font-size:.6rem;font-weight:600}.psl-divider{color:#f7f2ea2e;font-size:.7rem}.psl-count{font-family:var(--fm);letter-spacing:.06em;color:#f7f2ea61;font-size:.57rem}.psl-track{background:#f7f2ea0f;height:1px;position:absolute;bottom:0;left:0;right:0}.psl-fill{background:var(--verm);opacity:.75;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.send-settings-bar{background:#f7f2ea04;border-bottom:1px solid #f7f2ea0d;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:7px 20px;display:flex}.send-settings-label{font-family:var(--fm);letter-spacing:.14em;text-transform:uppercase;color:#f7f2ea47;flex-shrink:0;font-size:.55rem}.send-settings-item{font-family:var(--fm);color:#f7f2ea99;background:#f7f2ea08;border:1px solid #f7f2ea1a;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;font-size:.58rem;display:flex}.send-settings-item.muted{color:#f7f2ea47;background:0 0;border-color:#0000;font-size:.57rem}.send-settings-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.send-settings-dot.gsheets{background:#4caf50;box-shadow:0 0 6px #4caf5099}.send-settings-dot.hubspot{background:#ff7a59;box-shadow:0 0 6px #ff7a5980}.send-settings-link{color:var(--gold);font-family:var(--fm);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.58rem;text-decoration:underline}.send-settings-link:hover{color:#c8a850e6}.send-settings-toggle{cursor:pointer;font-family:var(--fm);color:#f7f2ea6b;white-space:nowrap;align-items:center;gap:7px;margin-left:auto;font-size:.58rem;display:flex}.step5-panel{flex-direction:column;align-items:stretch;display:flex;position:relative;overflow:hidden;background:linear-gradient(175deg,#120e0cf2 0%,#0c0907fa 100%)!important;border-left:1px solid #f7f2ea12!important;justify-content:flex-start!important;gap:0!important;padding:20px 16px!important}.step5-panel:before{content:"";background:linear-gradient(90deg,#0000,#c0392b66,#0000);height:1px;position:absolute;top:0;left:0;right:0}.step5-panel-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.step5-panel-label{font-family:var(--fm);letter-spacing:.16em;text-transform:uppercase;color:#f7f2ea4d;font-size:.52rem}.step5-panel-ratio{font-family:var(--fd);font-size:1rem;font-style:italic}.step5-panel-approved{color:#f7f2ead9}.step5-panel-total{color:#f7f2ea47;font-size:.7rem}.step5-panel-bar{background:#f7f2ea12;border-radius:1px;height:2px;margin-bottom:22px;overflow:hidden}.step5-panel-fill{background:linear-gradient(90deg,#c0392b99,#c0392be6);border-radius:1px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.step5-panel-spacer{flex:1}.hw-step-footer .hw-back-btn,.step5-panel .hw-back-btn{margin-bottom:10px}.step5-send-btn{border-radius:var(--r);color:#f0a090;width:100%;font-family:var(--fm);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#c0392b47 0%,#c0392b2e 100%);border:1px solid #c0392b8c;justify-content:center;align-items:center;gap:9px;padding:14px 16px;font-size:.65rem;font-weight:700;transition:all .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 16px #c0392b1f}.step5-send-btn:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff0a 0%,#0000 60%);position:absolute;inset:0}.step5-send-btn:hover:not(:disabled){color:#f8c0b0;background:linear-gradient(135deg,#c0392b6b 0%,#c0392b47 100%);border-color:#c0392bcc;transform:translateY(-1px);box-shadow:0 4px 24px #c0392b40}.step5-send-btn:active:not(:disabled){transform:translateY(0)}.step5-send-btn:disabled{opacity:.3;cursor:default}.step5-send-icon{font-size:1rem;line-height:1}.nav-step-ring-count{color:#c0392bbf;letter-spacing:.04em;margin-left:4px;font-size:.55rem}.step4-panel{flex-direction:column;align-items:stretch;display:flex;position:relative;overflow:hidden;background:linear-gradient(175deg,#100c0af5 0%,#0b0807fc 100%)!important;border-left:1px solid #f7f2ea12!important;justify-content:flex-start!important;gap:0!important;padding:20px 16px!important}.step4-panel:before{content:"";background:linear-gradient(90deg,#0000,#9a7c3f59,#0000);height:1px;position:absolute;top:0;left:0;right:0}.step4-panel-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.step4-panel-label{font-family:var(--fm);letter-spacing:.16em;text-transform:uppercase;color:#f7f2ea4d;font-size:.52rem}.step4-panel-ratio{font-family:var(--fd);font-size:1rem;font-style:italic}.step4-panel-done{color:#f7f2ead9}.step4-panel-total{color:#f7f2ea47;font-size:.7rem}.step4-panel-bar{background:#f7f2ea12;border-radius:1px;height:2px;margin-bottom:22px;overflow:hidden}.step4-panel-fill{background:linear-gradient(90deg,#9a7c3f80,#9a7c3fd9);border-radius:1px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.step4-panel-spacer{flex:1;min-height:8px}.step4-gen-btn{border-radius:var(--r);color:#c8a850e6;width:100%;font-family:var(--fm);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#9a7c3f21;border:1px solid #9a7c3f61;justify-content:center;align-items:center;gap:7px;margin-bottom:7px;padding:11px 14px;font-size:.6rem;font-weight:600;transition:all .2s;display:flex}.step4-gen-btn:hover:not(:disabled):not(.loading){color:#d2b25a;background:#9a7c3f3d;border-color:#9a7c3f9e;transform:translateY(-1px);box-shadow:0 3px 14px #9a7c3f2e}.step4-gen-btn:disabled,.step4-gen-btn.loading{opacity:.45;cursor:default;pointer-events:none}.step4-gen-spin{border:1.5px solid #c8a85040;border-top-color:#c8a850d9;border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:.8s linear infinite spin}.step4-pending-btn{border-radius:var(--r);color:#b49441cc;width:100%;font-family:var(--fm);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:#9a7c3f12;border:1px solid #9a7c3f40;justify-content:center;align-items:center;gap:6px;margin-bottom:7px;padding:9px 14px;font-size:.58rem;font-weight:600;transition:all .2s;display:flex}.step4-pending-btn:hover{color:#c8a850e6;background:#9a7c3f29;border-color:#9a7c3f80;transform:translateY(-1px)}.step4-regen-btn{border-radius:var(--r);color:#f7f2ea61;width:100%;font-family:var(--fm);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;text-align:center;background:0 0;border:1px solid #f7f2ea1a;margin-bottom:7px;padding:8px 14px;font-size:.58rem;transition:all .18s}.step4-regen-btn:hover{color:#f7f2eab3;border-color:#f7f2ea38}.step4-verify-btn{border-radius:var(--r);color:#dcbe64e6;width:100%;font-family:var(--fm);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#9a7c3f38 0%,#9a7c3f1f 100%);border:1px solid #9a7c3f80;justify-content:center;align-items:center;gap:6px;margin-bottom:7px;padding:10px 14px;font-size:.62rem;font-weight:700;transition:all .18s;display:flex}.step4-verify-btn:hover:not(:disabled){color:#f0d060;background:linear-gradient(135deg,#9a7c3f52 0%,#9a7c3f33 100%);border-color:#9a7c3fd9}.step4-verify-btn:disabled,.step4-verify-btn.loading{opacity:.55;cursor:default}.step4-advance-btn{border-radius:var(--r);color:#6ac89ae6;width:100%;font-family:var(--fm);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#3d6b5a47 0%,#3d6b5a2e 100%);border:1px solid #3d6b5a8c;justify-content:space-between;align-items:center;padding:13px 16px;font-size:.65rem;font-weight:700;transition:all .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 14px #3d6b5a1a}.step4-advance-btn:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff0a 0%,#0000 55%);position:absolute;inset:0}.step4-advance-btn:hover{color:#82dcaaf2;background:linear-gradient(135deg,#3d6b5a6b 0%,#3d6b5a47 100%);border-color:#6ac89aa6;transform:translateY(-1px);box-shadow:0 4px 22px #3d6b5a38}.step4-advance-btn:active{transform:translateY(0)}.step4-advance-arrow{opacity:.75;font-size:1rem;transition:transform .18s}.step4-advance-btn:hover .step4-advance-arrow{opacity:1;transform:translate(3px)}
