@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{font-family:Inter,Arial,sans-serif;color:#252b36;background:#19203f;font-synthesis:none;--purple:#8113ce;--ink:#263f60;--gold:#d7b850}*{box-sizing:border-box}body{font-size:calc(1rem + 2pt);margin:0;min-height:100vh;min-height:100svh;background:linear-gradient(160deg,#171830 2%,#1e2447 45%,#1e4160 100%);background-attachment:fixed}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #dcacfa;outline-offset:4px}[hidden]{display:none!important}.stars{position:fixed;inset:0;pointer-events:none;opacity:.6;background-image:radial-gradient(1.6px 1.6px at 20px 30px,#dbe4ef 90%,transparent),radial-gradient(1px 1px at 89px 90px,#dbe4ef 90%,transparent),radial-gradient(1px 1px at 174px 55px,#aaa9cc 90%,transparent),radial-gradient(1.3px 1.3px at 228px 194px,#c2d2e8 90%,transparent);background-size:300px 300px,237px 279px,310px 233px,371px 310px;z-index:0}main,footer,.letter-page,.editor-page{position:relative}h1,h2,h3,.brand{font-family:'Playfair Display',Georgia,serif;font-weight:500}.landing{width:min(448px,calc(100% - 32px));margin:0 auto;padding:54px 0 25px}.brand{color:var(--gold);text-align:center;font-size:calc(38px + 2pt);line-height:1.2;margin-bottom:61px}.brand>span:first-child{color:#ddadf6;margin-right:7px}.brand small{display:block;font:calc(11px + 2pt) Inter,Arial,sans-serif;letter-spacing:2.8px;text-transform:uppercase;color:#d4c6dc;margin:13px 0 0}.welcome{position:relative;border-radius:18px;background:#f7f7f9;padding:108px 33px 32px;text-align:center;box-shadow:0 16px 44px #080c1824}.portrait{position:absolute;top:-31px;left:calc(50% - 55px);width:110px;height:110px;border-radius:100%;background:#ddd;border:4px solid white;box-shadow:0 9px 20px #0002;object-fit:cover}.availability{background:#fff8;border-radius:25px;color:#616673;padding:9px 2px;font-size:calc(14px + 2pt);display:flex;align-items:center;justify-content:center;gap:8px}.availability i,.chat-header i{display:inline-block;background:#21bc76;border-radius:100%;width:8px;height:8px;box-shadow:0 0 6px #21bc7666}.small-rule{height:2px;background:#e4e4e9;width:62px;margin:38px auto 24px}.welcome h1{font-size:calc(30px + 2pt);line-height:1.25;margin:0 0 19px;color:#181d28}.intro{font-size:calc(16px + 2pt);line-height:1.7;color:#59606c;margin:0 0 30px}.primary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:linear-gradient(105deg,#a005f3,#7414af);color:#fff;border:0;border-radius:8px;box-shadow:0 5px 14px #8d14dc28;min-height:64px;padding:17px 20px;font-weight:600;font-size:calc(15px + 2pt);line-height:1.5;text-decoration:none;text-align:center;transition:transform .18s,box-shadow .18s}.primary:hover{transform:translateY(-2px);box-shadow:0 8px 18px #8814d644}.reassurance{font-size:calc(12px + 2pt);color:#737b86;font-style:italic;margin:16px 0 25px;line-height:1.5}.trust{display:flex;justify-content:space-between;gap:15px;font-size:calc(10px + 2pt);letter-spacing:.3px;color:#727b88;text-transform:uppercase;text-align:left;line-height:1.5}.trust span:last-child{text-align:right}footer{font-size:calc(11px + 2pt);line-height:1.6;color:#b7bfce;text-align:center;padding-top:27px}footer span{padding:0 7px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}footer p{max-width:365px;margin:9px auto}.conversation{width:min(512px,calc(100% - 32px));height:calc(100dvh - 92px);min-height:430px;max-height:950px;margin:46px auto;display:flex;flex-direction:column;background:#f6f6f9;border:1px solid #d7dbe5;border-radius:18px;overflow:hidden;box-shadow:0 15px 44px #10152f44}.chat-header{display:flex;align-items:center;background:#213e63;padding:16px;gap:12px;color:white;flex-shrink:0}.chat-header img{border-radius:50%;border:2px solid #c7ad4d}.chat-header h1{font-size:calc(20px + 2pt);margin:0 0 3px}.chat-header p{color:#61e1a5;font-size:calc(11px + 2pt);margin:0;display:flex;gap:6px;align-items:center}.chat-header i{width:5px;height:5px}.chat-header>a{margin-left:auto;color:#cbd5e2;font-size:calc(13px + 2pt);text-decoration:none;padding:10px 0 10px 15px}.chat-note{background:#f1e6ff;text-align:center;color:#59247d;padding:9px 12px;font-size:calc(11px + 2pt);flex-shrink:0}.messages{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:25px 16px 16px;scroll-behavior:smooth;scrollbar-width:thin}.chat-time,.system-message{font-size:calc(11px + 2pt);text-align:center;color:#717883;margin:5px 0 19px;line-height:1.7}.message-row{display:flex;margin:0 0 14px;flex-direction:column;align-items:flex-start}.bubble{border-radius:19px 19px 19px 0;background:white;padding:13px 16px;max-width:90%;line-height:1.65;font-size:calc(15px + 2pt);box-shadow:0 2px 2px #00000013;overflow-wrap:anywhere;white-space:pre-wrap;animation:appear .22s ease both}.message-row.user{align-items:flex-end;transform:translateX(-12px)}.user .bubble{background:#793bb0;color:#fff;border-radius:19px 19px 0 19px}.edit-answer{background:none;border:0;font-size:calc(10px + 2pt);color:#71647e;padding:6px 2px}.typing{display:flex;gap:5px;padding:15px 17px;width:66px}.typing span{height:7px;width:7px;background:#9b9ea9;border-radius:100%;animation:blink 1s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}.controls{background:#fff;padding:13px 16px 8px;border-top:1px solid #eeedf2;flex-shrink:0;max-height:40%;overflow:auto}.controls:empty{padding:0;border:0}.composer{display:flex;gap:9px;align-items:flex-end}.composer textarea{width:100%;border:1px solid #d9d5e1;border-radius:10px;resize:none;min-height:48px;max-height:130px;padding:13px;color:#28222e;font-size:calc(15px + 2pt);line-height:1.4}.send{width:48px;height:48px;background:#8522bd;color:#fff;border:0;border-radius:10px;flex-shrink:0;font-size:calc(22px + 2pt)}.send:disabled{opacity:.4;cursor:default}.choices{display:flex;flex-direction:column;gap:8px}.choice{border:1px solid #be91df;color:#6b219a;background:#fcf9ff;border-radius:9px;padding:12px 15px;font-size:calc(13px + 2pt);line-height:1.45;min-height:44px;transition:background .15s}.choice:hover{background:#f0e2fd}.input-help{font-size:calc(10px + 2pt);color:#7d7485;margin:7px 0 3px;line-height:1.5}.skip{font-size:calc(11px + 2pt);color:#735a85;border:0;background:none;margin:7px 0 3px;padding:4px 0;text-decoration:underline}.chat-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#7b7383;padding:9px 13px;background:#fff;flex-shrink:0;font-size:calc(9px + 2pt)}.chat-bottom button{color:#685577;background:transparent;border:0;font-size:calc(10px + 2pt);padding:6px 2px}.offer-card{border:1px solid #ddc5ed;background:linear-gradient(135deg,#fff,#f5edfc);border-radius:14px;padding:21px;margin:8px 0 20px;text-align:center}.offer-card .kicker{font-size:calc(9px + 2pt);color:#8a5ca5;letter-spacing:1.5px}.offer-card h2{font-size:calc(24px + 2pt);line-height:1.3;margin:9px 0 12px}.offer-card p{font-size:calc(13px + 2pt);line-height:1.7;color:#685c70}.offer-card small{display:block;font-size:calc(10px + 2pt);color:#877990;margin:12px 0 0}.offer-card .letter-link{display:inline-block;font-size:calc(12px + 2pt);color:#744693;margin:17px 0 0}.draft-notice{position:relative;z-index:5;padding:9px 15px;font-size:calc(12px + 2pt);text-align:center;background:#ffe6a9;color:#594622}.draft-notice+main{padding-top:28px}.draft-notice~.conversation{height:calc(100dvh - 110px);margin-top:20px}.noscript{position:relative;color:white;padding:20px;text-align:center}dialog{border:0;border-radius:16px;max-width:410px;width:calc(100% - 30px);padding:28px;color:#282137}dialog::backdrop{background:#10132ab3}dialog h2{margin-top:0}dialog p{line-height:1.6;font-size:calc(14px + 2pt)}.dialog-actions{display:flex;gap:10px;margin-top:22px}.dialog-actions button{width:50%;border:1px solid #dacbdf;border-radius:8px;padding:12px;font-size:calc(13px + 2pt)}.dialog-actions .primary{min-height:48px}.letter-page{background:#fdfbff;max-width:760px;margin:44px auto;border-radius:18px;padding:40px 48px;line-height:1.8}.letter-page .back{font-size:calc(13px + 2pt);color:#795794}.letter-page h1{font-size:calc(36px + 2pt);line-height:1.25}.letter-page h2{font-size:calc(27px + 2pt);line-height:1.35;color:#51326e}.letter-page p{font-size:calc(16px + 2pt)}.letter-page section{padding:22px 0;border-bottom:1px solid #e8dff0}.letter-brand{text-align:center;margin-top:25px}.letter-brand img{border-radius:50%}.letter-intro{text-align:center;color:#907995}.letter-page>.primary{margin:30px 0}.editor-page{max-width:980px;margin:30px auto;padding:30px 40px;background:#f9f8fc;border-radius:18px}.editor-page h1{font-size:calc(34px + 2pt);margin:8px 0 14px}.editor-page>p{font-size:calc(14px + 2pt);line-height:1.7;color:#6d6576}.editor-page fieldset{border:1px solid #ded4e9;border-radius:12px;padding:22px;margin:20px 0;background:white}.editor-page legend{padding:0 10px;color:#602c84;font-weight:600}.editor-page label{display:block;font-size:calc(12px + 2pt);font-weight:600;color:#5c4c69;margin:13px 0 6px}.editor-page input,.editor-page textarea,.editor-page select{width:100%;border:1px solid #d7cde0;border-radius:7px;padding:11px;color:#34283d;background:#fff;font-size:calc(14px + 2pt);line-height:1.5}.editor-page textarea{resize:vertical;min-height:78px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.editor-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;background:#f9f8cf;padding:14px;margin:20px -15px -5px;border-radius:10px;box-shadow:0 -4px 16px #291a2910}.editor-actions button,.editor-actions a,.small-button{border:1px solid #b88ace;border-radius:6px;padding:10px 14px;background:white;color:#713198;font-size:calc(12px + 2pt);cursor:pointer;text-decoration:none}.editor-actions button:first-child{background:#792cad;color:white}.editor-help{font-size:calc(12px + 2pt);color:#786387;line-height:1.6}.editor-status{font-size:calc(13px + 2pt);color:#613781;min-height:22px}.step-actions{display:flex;gap:7px;justify-content:flex-end}.small-button:disabled{opacity:.3}.add-message{margin-top:8px}#importFile{display:none}.status-error{color:#a22d48}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes blink{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.landing{padding:30px 0 20px}.brand{font-size:calc(34px + 2pt);margin-bottom:57px}.welcome{padding:99px 25px 28px}.welcome h1{font-size:calc(29px + 2pt)}.small-rule{margin-top:30px}.conversation{margin:0;width:100%;border:0;border-radius:0;min-height:0;height:100dvh;max-height:none}.chat-header{padding-top:max(14px,env(safe-area-inset-top))}.chat-bottom{padding-bottom:max(10px,env(safe-area-inset-bottom))}.messages{padding-top:20px}.draft-notice~.conversation{height:calc(100dvh - 60px);margin:0}.letter-page{margin:16px;border-radius:12px;padding:25px}.letter-page h1{font-size:calc(29px + 2pt)}.letter-page h2{font-size:calc(23px + 2pt)}.editor-page{margin:10px;padding:20px 16px}.editor-grid{grid-template-columns:1fr}.editor-page fieldset{padding:15px}.editor-actions{margin-left:-5px;margin-right:-5px}.editor-actions>*{flex:1;text-align:center}.bubble{max-width:91%;font-size:calc(15px + 2pt)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.availability i{width:12px;height:12px;flex-shrink:0;animation:availability-pulse 3s ease-in-out infinite}
@keyframes availability-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #21bc7640;opacity:1}50%{transform:scale(1.12);box-shadow:0 0 0 6px #21bc7600;opacity:.72}}

/* Add exactly 2 points to the default heading size without compounding inheritance. */
:where(dialog h2){font-size:calc(1.5rem + 2pt)}
