@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--ink:#302238;--plum:#251c2e;--lilac:#c5adf1;--paper:#f6f3ec;--muted:#746879;--line:#ded7e0;--serif:'Fraunces',Georgia,serif;--mono:'IBM Plex Mono',monospace;font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9366ca;outline-offset:4px}[hidden]{display:none!important}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:10px;font:600 34px var(--serif);letter-spacing:-1.5px}.brand img{width:44px;height:44px;object-fit:contain}.brand-dot{color:#906bbb;font-size:24px;margin-left:3px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav button{border:0;background:none;color:inherit;padding:0}nav a[aria-current]{border-bottom:1px solid var(--ink);padding:12px 0}#archive-count{font-size:11px;background:#e6dded;padding:2px 6px;border-radius:20px;margin-left:3px}.network{font-size:13px;border:1px solid #cfc1d8;border-radius:30px;padding:11px 15px;white-space:nowrap}.network span{margin-left:10px}main{max-width:1600px;margin:auto;padding:0 5vw}.title-row{display:flex;align-items:center;justify-content:space-between;margin:44px 0 35px;gap:30px}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:1.2px;margin:0 0 12px}.title-row h1,h1{font:400 clamp(36px,3.7vw,57px)/1.1 var(--serif);letter-spacing:-1.8px;margin:0}h1 em{font-weight:400;color:#80619a}.intro{font-size:14px;line-height:1.6;margin:0;color:var(--muted);padding-left:22px;border-left:1px solid #ccbcd7}.workspace{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 12px 38px #3f254309}.editor{background:#fffdf9;padding:30px 35px}.editor-top{display:flex;justify-content:space-between}.tiny-star{font-size:25px;color:#a084b8}h2{font:400 34px/1.15 var(--serif);letter-spacing:-.8px;margin:0 0 26px}.editor h2{margin:8px 0 24px}label{display:block;font-size:14px;font-weight:500}input,textarea,select{display:block;width:100%;margin-top:9px;padding:12px 13px;border:1px solid #d7cddd;border-radius:6px;background:#fffefb;color:var(--ink);font-size:15px;min-width:0}input::placeholder,textarea::placeholder{color:#998d9e}textarea{resize:vertical;line-height:1.6}#message{min-height:118px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}#letter-form>label{margin-bottom:20px}.field-hint{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.6;margin:8px 0 0}.optional{font-size:11px;color:var(--muted);font-weight:400}.stationery{border:0;padding:0;margin:24px 0;display:flex;gap:13px}.stationery legend{font-size:14px;margin-bottom:12px}.stationery label{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer;position:relative;border:1px solid var(--line);padding:8px 11px;border-radius:5px}.stationery label:has(input:checked){border-color:#83669c;background:#ede4f3}.stationery input{width:auto;margin:0;accent-color:#765493}.swatch{width:13px;height:13px;display:inline-block;border:1px solid #b7a5c0;border-radius:50%}.lilac{background:#e9def8}.cream{background:#fffaf0}.peach{background:#f8dfc5}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;border:1px solid var(--ink);border-radius:6px;font-size:14px;font-weight:500}.primary{background:var(--ink);color:white}.primary:hover{background:#4a3158}.secondary{background:transparent;color:var(--ink)}.secondary:hover{background:#e5dbea}.primary span{margin-left:auto}#letter-form>.primary{width:100%}.save-note{font-size:11px;line-height:1.6;color:var(--muted);text-align:center;margin:10px 0 0}.preview{background:var(--plum);position:relative;color:#ece1f7;padding:26px 26px 18px;display:flex;flex-direction:column;justify-content:center;min-width:0}.preview-top,.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-top .eyebrow{font-size:10px;color:#b7a4c2;margin:0}.text-button{background:none;border:0;border-bottom:1px solid currentColor;padding:3px 0;color:inherit;font-size:13px;cursor:pointer;line-height:1.5}.preview-top .text-button{white-space:nowrap;color:#d4baf0}.envelope-stage{position:relative;margin:auto -26px 0;min-height:360px;display:flex;align-items:center}.envelope-art{width:100%;height:auto;display:block;mix-blend-mode:normal}.envelope-caption{position:absolute;inset:auto 0 18px;text-align:center;display:flex;flex-direction:column;gap:8px;pointer-events:none;text-shadow:0 2px 8px #251c2e}.envelope-caption>span{font:10px var(--mono);letter-spacing:2px;color:#c2b0cf}.envelope-caption strong{font:400 29px var(--serif);color:#f6f0ff;max-width:90%;margin:auto;overflow-wrap:anywhere}.preview-bottom{margin-top:auto;padding-top:24px;border-top:1px solid #51415d;font:9px var(--mono);letter-spacing:1px;color:#b8a5c6}.letter-card{color:var(--ink);padding:32px 34px;border-radius:3px;box-shadow:0 8px 36px #170b2220;position:relative;overflow-wrap:anywhere}.preview .letter-card{display:none;margin:28px 10px;min-height:360px}.preview.open .letter-card{display:block;animation:unfold .45s ease-out}.preview.open .envelope-stage{display:none}.letter-head{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:1px;color:#8b7098;border-bottom:1px solid #bca5cb;padding-bottom:18px;margin-bottom:25px}.seal{font-size:34px;color:#80609b}.letter-occasion{font:11px var(--mono);letter-spacing:1px;text-transform:uppercase}.letter-card h2{font-size:31px;line-height:1.25;margin-bottom:20px}.handwriting{font:400 21px/1.65 var(--serif);white-space:pre-wrap;margin:0 0 28px;min-height:85px}.letter-foot{display:flex;align-items:end;justify-content:space-between;gap:18px;font-size:12px;line-height:1.7}.letter-foot strong{font:400 24px var(--serif)}.letter-receipt{margin-top:24px;border-top:1px dashed #b9a5c9;padding-top:15px;font:10px/1.7 var(--mono);color:#795b8d}.receipt-section{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;padding:52px 0;border-bottom:1px solid var(--line)}.receipt-section h2{font-size:38px;line-height:1.15;margin:14px 0 20px}.receipt-section p{font-size:15px;line-height:1.8;color:var(--muted);max-width:400px}.receipt-section a{font-size:13px;border-bottom:1px solid #a88bbf;padding-bottom:4px}.receipt-controls{background:#eee7f2;border:1px solid #d9cddd;padding:26px 30px;border-radius:10px}.receipt-controls label{margin-bottom:17px}.receipt-controls input{font:12px var(--mono)}.receipt-controls p.field-hint{font-size:12px;max-width:none;line-height:1.7}.receipt-status{font-size:13px;line-height:1.7;margin:18px 0;overflow-wrap:anywhere}.receipt-status strong{display:block;font-weight:600}.error{color:#a02e3f!important}#receipt-choice select{margin-bottom:12px;font-size:13px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0;font:10px var(--mono);letter-spacing:.5px;color:#83738c}footer a{font:12px 'DM Sans',sans-serif;letter-spacing:0;color:var(--ink)}dialog{border:1px solid #c2b0ce;border-radius:12px;padding:0;width:min(620px,calc(100% - 32px));max-height:90dvh;background:#fffdf9;color:var(--ink)}dialog::backdrop{background:#201529bb;backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:15px 25px;font:11px var(--mono);letter-spacing:1px}.dialog-header button{background:none;border:0;font-size:27px;color:var(--ink)}.dialog-body{padding:27px}.dialog-body h2{font-size:36px;margin-bottom:20px}.dialog-body>p{font-size:14px;line-height:1.8;color:var(--muted)}.dialog-actions{display:flex;gap:12px;margin:18px 0}#share-url{font:11px/1.6 var(--mono);overflow-wrap:anywhere}#archive-list a{display:block;padding:17px 0;border-bottom:1px solid var(--line)}#archive-list a strong{font:24px var(--serif);display:block;margin-bottom:7px}#archive-list a span{font-size:12px;color:var(--muted)}.reader{text-align:center;padding:40px 0;max-width:760px;margin:auto}.reader h1{font-size:46px;line-height:1.2;overflow-wrap:anywhere}.reader h1 em{display:block}#reader-envelope{background:var(--plum);border-radius:12px;margin-top:30px;padding-bottom:28px;overflow:hidden}#reader-envelope img{width:100%;display:block}#reader-envelope .primary{background:var(--lilac);color:var(--plum);min-width:240px}.reader .letter-card{text-align:left;margin:35px 0;animation:unfold .5s ease-out}.reader-note{font-size:12px;line-height:1.8;color:var(--muted);max-width:540px;margin:25px auto}.reader-actions{display:flex;gap:25px;justify-content:center;align-items:center}#reader-proof{background:#eae0f0;border:1px solid #d8c9e1;border-radius:6px;padding:22px;margin-top:24px;line-height:1.7;font-size:13px;overflow-wrap:anywhere}#reader-proof:empty{display:none}#reader-proof strong{display:block;font-size:18px}#reader-proof a{text-decoration:underline}.doc{max-width:1100px;padding-top:45px}.doc h1{margin-bottom:28px}.doc h2{margin-top:38px;margin-bottom:17px}.doc p,.doc li{font-size:16px;line-height:1.8;color:var(--muted)}.doc .note{border-left:3px solid #9b74bb;padding:18px 23px;background:#eee5f4;font-size:14px;line-height:1.8}.brand-display{background:var(--plum);color:white;display:flex;gap:25px;align-items:center;padding:28px;border-radius:10px}.brand-display img{width:130px;height:130px}.brand-display h2{margin:0;font-size:44px}.brand-display p{color:#cebddb}.brand-display a{font-size:13px;color:var(--lilac)}.banner{width:100%;height:auto;border-radius:9px;margin:25px 0 10px;display:block}.palette{display:flex;gap:12px;margin:28px 0}.palette div{flex:1;padding:35px 16px 16px;border:1px solid #d2c3dc;font:11px var(--mono);border-radius:6px}.social{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:28px 0;background:#fffcf7}.social img{width:100%;height:auto;align-self:center}.social>div{padding:28px}.social h2{margin-top:0;font-size:28px}.social pre{font:14px/1.8 'DM Sans',sans-serif;white-space:pre-wrap;color:var(--muted)}.doc a:not(.brand):not(.primary):not(.secondary){text-decoration:underline;text-underline-offset:4px}@keyframes unfold{from{opacity:0;transform:translateY(16px) rotate(-1deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@media(min-width:1600px){header{padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}}@media(max-width:1100px){header{padding:0 3vw;gap:20px}nav{gap:20px;font-size:13px}.brand{font-size:29px}.network{font-size:11px;padding:10px}.intro{display:none}main{padding:0 3vw}.workspace{grid-template-columns:1fr 1fr}.editor{padding:25px}.preview{padding:22px}.preview-top .eyebrow{max-width:140px;font-size:9px}.envelope-stage{margin-left:-22px;margin-right:-22px}.stationery{gap:6px}.stationery label{padding:8px 7px}.receipt-section{gap:35px}.receipt-controls{padding:23px}.letter-card{padding:25px}.preview .letter-card{margin:20px 0}.letter-card h2{font-size:27px}.handwriting{font-size:20px}.social>div{padding:22px}.social h2{font-size:26px}}@media(max-width:800px){header{height:auto;min-height:110px;flex-wrap:wrap;padding:18px 22px;gap:18px}.brand{font-size:30px}nav{order:3;width:100%;justify-content:space-between;gap:12px}.network{font-size:12px}.title-row{margin:32px 0 25px}h1,.title-row h1{font-size:43px}.workspace{grid-template-columns:1fr}.preview{min-height:530px;order:0}.envelope-stage{max-width:620px;margin:auto;min-height:320px}.envelope-art{max-height:430px;object-fit:contain}.envelope-caption{bottom:14px}.preview.open{min-height:0}.preview .letter-card{margin:25px auto;width:100%;max-width:520px}.preview-top{width:100%}.preview-top .eyebrow{max-width:none}.preview-bottom{padding-top:18px}.editor{padding:28px}.receipt-section{grid-template-columns:1fr;gap:25px;padding:35px 0}.receipt-section h2 br{display:none}.receipt-section p{max-width:600px}.social{grid-template-columns:1fr}.doc{padding-top:32px}footer{flex-wrap:wrap;line-height:1.7;gap:15px}.reader{padding-top:25px}.reader h1{font-size:40px}}
@media(max-width:480px){main{padding:0 16px}header{padding:16px}.brand img{width:33px;height:33px}.brand{font-size:27px}.brand-dot{font-size:19px}.network{padding:8px 10px;font-size:10px}nav{gap:8px;font-size:12px}nav a[aria-current]{padding:8px 0}.title-row h1{font-size:39px;letter-spacing:-1.4px}.title-row .eyebrow{font-size:9px;letter-spacing:.8px}.preview{padding:18px 16px;min-height:380px}.envelope-stage{margin:0 -16px;min-height:255px}.envelope-art{width:100%;min-height:255px;object-fit:cover}.envelope-caption strong{font-size:25px}.envelope-caption>span{font-size:8px}.preview-bottom{font-size:7px;letter-spacing:.8px}.preview-top .eyebrow{font-size:8px;max-width:155px}.preview-top .text-button{font-size:11px}.editor{padding:24px 20px}.editor h2{font-size:32px}.pair{gap:12px}.pair label{font-size:13px}input,select,textarea{font-size:16px;padding:11px 10px}.pair select{font-size:13px}.optional{font-size:10px}.stationery{gap:8px;flex-wrap:wrap}.stationery label{font-size:12px;padding:8px 10px}.receipt-controls{padding:23px 20px}.receipt-section h2{font-size:35px}.letter-card{padding:25px 22px}.letter-head{font-size:8px}.letter-card h2{font-size:28px}.handwriting{font-size:21px}.letter-foot strong{font-size:23px}.reader-actions{flex-direction:column;gap:20px}.reader h1{font-size:38px}.reader-note{font-size:12px}.dialog-body{padding:23px}.dialog-actions{flex-direction:column}.brand-display{padding:22px;gap:18px}.brand-display img{width:78px;height:78px}.brand-display h2{font-size:30px}.brand-display p{font-size:13px}.palette{gap:7px}.palette div{padding:30px 8px 10px;font-size:9px}.doc h1{font-size:40px}.doc .social h2{font-size:28px}footer{font-size:8px}footer a{font-size:11px}}

.contract-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;padding:12px 5vw;background:#eae2f1;border-bottom:1px solid #d5c8df;color:#493257}.contract-strip>span{font:11px var(--mono);letter-spacing:.7px}.contract-strip code{font:13px var(--mono);overflow-wrap:anywhere;user-select:all}.contract-strip button,.contract-strip a{font:12px "DM Sans",sans-serif;white-space:nowrap}.contract-strip button{border:1px solid #ae95bf;border-radius:5px;background:#faf5ff;color:#493257;padding:6px 11px}.contract-strip a{text-decoration:underline;text-underline-offset:3px}@media(max-width:650px){.contract-strip{justify-content:space-between;gap:10px;padding:12px 16px}.contract-strip code{order:2;flex-basis:100%;font-size:12px;line-height:1.6}.contract-strip>span{margin-right:auto}}
