:root{--paper:#fff8f7;--card:#fff;--ink:#321d26;--muted:#876e77;--muted-light:#b9a4aa;--rose:#e85d75;--rose-light:#f4a5b2;--rose-faint:#fff0f2;--border:#f2dde1;--success:#2e7d63;--success-light:#eaf7f1;--error:#b64a5c;--error-light:#fff0f2;--info:#765b8a;--info-light:#f4eff8;--display:Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow:0 15px 38px #66303f12;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;min-height:100%}body{min-width:320px;min-height:100svh;margin:0}button,input{font-family:inherit}button:disabled{cursor:not-allowed}#root{min-height:100svh}.app-shell{box-sizing:border-box;max-width:620px;min-height:100svh;margin:0 auto;padding:0 28px 32px}.site-header{justify-content:space-between;align-items:center;padding:28px 0 12px;display:flex}.wordmark{color:var(--ink);font-family:var(--display);letter-spacing:-.6px;align-items:center;gap:7px;font-size:22px;font-weight:700;text-decoration:none;display:inline-flex}.wordmark-mark{color:var(--rose);font-family:Georgia,serif;font-size:28px;line-height:.8}.header-note,.eyebrow,.section-kicker{color:var(--rose);letter-spacing:1.7px;text-transform:uppercase;font-size:10px;font-weight:800}.header-note{color:var(--muted-light);letter-spacing:1.3px}.hero{padding:58px 0 35px}.eyebrow{align-items:center;gap:8px;margin-bottom:18px;display:flex}.eyebrow span{font-size:15px}.hero h1{color:var(--ink);font-family:var(--display);letter-spacing:-2.5px;margin:0;font-size:clamp(38px,8vw,58px);font-weight:500;line-height:.99}.hero h1 em{color:var(--rose);font-style:normal}.hero p{color:var(--muted);max-width:310px;margin:21px 0 0;font-size:15px;line-height:1.6}.message-card,.setup-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:26px;padding:21px}.setup-card{margin-top:17px}.section-heading{justify-content:space-between;align-items:flex-start;display:flex}.section-heading h2{color:var(--ink);font-family:var(--display);letter-spacing:-.7px;margin:7px 0 0;font-size:24px;font-weight:600;line-height:1.1}.connection-dot{background:#d8c9cc;border:4px solid #f5edef;border-radius:50%;width:10px;height:10px;margin:4px 3px 0 0}.connection-dot.is-connected{background:var(--success);border-color:var(--success-light)}.message-list{gap:10px;margin-top:21px;display:grid}.message-button,.role-button{cursor:pointer;font:inherit;text-align:left;border:0;align-items:center;transition:transform .16s,opacity .16s,background .16s;display:flex}.message-button{border-radius:18px;width:100%;min-height:78px;padding:12px 14px}.message-button:hover:not(:disabled),.role-button:hover:not(:disabled){transform:translateY(-2px)}.message-button:active:not(:disabled),.role-button:active:not(:disabled){transform:scale(.985)}.message-button:disabled,.role-button:disabled{cursor:not-allowed;opacity:.55}.message-kiss{background:#fff1f2}.message-hug{background:#fff7e8}.message-love{background:#f9f0f8}.message-emoji{background:#ffffffd1;border-radius:50%;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:25px;display:flex}.message-copy{flex-direction:column;flex:1;margin-left:14px;display:flex}.message-copy strong,.role-button strong{color:var(--ink);font-size:16px;font-weight:750}.message-copy small,.role-button small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.message-arrow,.role-arrow{color:var(--rose);padding:0 3px;font-size:25px;font-weight:300}.card-hint{color:var(--muted);text-align:center;margin:17px 3px 0;font-size:12px}.status{border-radius:13px;align-items:flex-start;gap:9px;margin-top:15px;padding:12px 15px;font-size:13px;line-height:1.45;display:flex}.status>span{text-align:center;border-radius:50%;flex:0 0 18px;height:18px;font-size:12px;font-weight:800;line-height:18px}.status-success{background:var(--success-light);color:var(--success)}.status-success>span{background:var(--success);color:#fff}.status-error{background:var(--error-light);color:var(--error)}.status-error>span{background:var(--error);color:#fff}.status-info{background:var(--info-light);color:var(--info)}.status-info>span{background:var(--info);color:#fff}.setup-heading{align-items:center}.setup-heart{color:var(--rose-light);margin-right:3px;font-family:Georgia,serif;font-size:43px;line-height:.7}.setup-copy{color:var(--muted);margin:13px 0 17px;font-size:13px;line-height:1.55}.role-list{gap:9px;display:grid}.role-button{background:var(--paper);border:1px solid var(--border);border-radius:15px;width:100%;min-height:62px;padding:9px 13px}.role-badge{background:var(--rose-faint);color:var(--rose);border-radius:11px;flex:0 0 39px;justify-content:center;align-items:center;width:39px;height:39px;font-size:12px;font-weight:800;display:flex}.role-button>span:nth-child(2){flex-direction:column;flex:1;margin-left:12px;display:flex}.setup-footnote{color:var(--muted-light);margin:16px 2px 0;font-size:11px;line-height:1.5}.connected-panel{background:var(--success-light);color:var(--success);border-radius:15px;align-items:center;gap:11px;margin-top:18px;padding:12px;display:flex}.connected-icon{background:var(--success);color:#fff;border-radius:50%;flex:0 0 29px;justify-content:center;align-items:center;width:29px;height:29px;font-size:13px;font-weight:800;display:flex}.connected-panel strong{color:var(--ink);font-size:13px;display:block}.connected-panel p{color:var(--success);margin:3px 0 0;font-size:11px}.text-button{color:var(--rose);cursor:pointer;font:inherit;background:0 0;border:0;margin-left:auto;padding:7px 3px;font-size:11px;font-weight:750}.site-footer{color:var(--muted-light);text-align:center;padding:26px 0 0;font-size:12px}.site-footer span{color:var(--rose);margin-left:3px;font-family:Georgia,serif;font-size:17px}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e85d7559}@media (width<=520px){.app-shell{padding-left:18px;padding-right:18px}.site-header{padding-top:21px}.hero{padding-top:47px}.message-card,.setup-card{border-radius:22px;padding:17px}}
