: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}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}}.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(34px,8vw,50px);font-weight:500;line-height:.99}.hero h1 em{color:var(--rose);font-size:clamp(38px,8vw,54px);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;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{box-sizing:border-box;border-radius:18px;align-items:flex-start;gap:8px;width:100%;min-height:0;margin-top:15px;padding:12px 15px;font-size:12px;line-height:1.45;display:flex}.status-icon{text-align:center;border-radius:50%;flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:800;line-height:18px;display:inline-flex}.status-success{background:var(--success-light);color:var(--success)}.status-success .status-icon{background:var(--success);color:#fff}.status-error{background:var(--error-light);color:var(--error)}.status-error .status-icon{background:var(--error);color:#fff}.status-message{overflow-wrap:anywhere;flex:1 1 0;min-width:0;height:auto;display:block}.status-info{background:var(--info-light);color:var(--info)}.status-info .status-icon{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;margin-top:12px;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:24px;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}}
