:root{--paper:#fffaf2;--ink:#482c3c;--pink:#bd526b;--muted:#735f67;--line:#754d5b24;--card:#fffdf9}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "Avenir Next",Avenir,ui-rounded,Arial,sans-serif}.app-page{max-width:1040px;margin:auto;padding:0 24px}.app-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-weight:800;font-size:1.45rem;letter-spacing:-1px;color:var(--ink);text-decoration:none}.wordmark span{color:var(--pink);margin-left:3px}select,input,button{font:inherit}select{padding:8px 12px;border:1px solid #bbaab1;border-radius:14px;background:var(--card);color:var(--ink)}main{max-width:760px;margin:48px auto 60px}.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,5vw,40px);box-shadow:0 14px 36px #4425350a;margin-bottom:20px}.auth-panel{max-width:620px;margin:0 auto}.eyebrow{margin:0 0 10px;color:#963b56;font-weight:750;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}h1,h2{font-family:Georgia,"Times New Roman",serif;line-height:1.16;letter-spacing:-.5px}h1{font-size:clamp(38px,7vw,60px);margin:0 0 14px}h2{font-size:clamp(25px,4vw,34px);margin:0 0 18px}.lede{color:#59444f;font-size:1.12rem;line-height:1.7;margin:0 0 26px}form label{display:block;font-weight:700;margin:14px 0 7px}input[type=email],input[inputmode=numeric]{width:100%;min-height:48px;padding:10px 13px;border:1px solid #bbaab1;border-radius:12px;background:#fff;color:var(--ink)}input:focus,select:focus,button:focus-visible{outline:3px solid #bd526b55;outline-offset:2px}.agreement{display:flex!important;align-items:flex-start;gap:10px;font-size:.9rem;font-weight:450!important;color:var(--muted);margin:16px 0!important}.agreement input{margin-top:5px;accent-color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:28px;background:var(--ink);color:white;padding:12px 18px;min-height:46px;font-weight:700;cursor:pointer}.button:hover{background:#674256}.auth-panel form>.button{width:100%;margin-top:18px}.link-button,.danger-button{border:0;background:transparent;color:var(--pink);font-weight:700;cursor:pointer;padding:9px 0}.notice{min-height:1.5em;color:#80502f;font-weight:650}.privacy-details{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;color:var(--muted)}.privacy-details summary{font-weight:700;color:var(--ink);cursor:pointer}.privacy-details p,.data-note p{font-size:.92rem;line-height:1.65}.dashboard{display:grid;gap:4px}.welcome{position:relative}.welcome p{margin-bottom:6px}.welcome .link-button{position:absolute;right:30px;bottom:20px}.welcome strong{overflow-wrap:anywhere}.matches{background:#f7eeec}.muted,.privacy-hint{color:var(--muted)}.privacy-hint{font-size:.86rem}.add-row{display:flex;gap:10px}.add-row input{flex:1;min-width:0}.add-row .button{white-space:nowrap}ul{list-style:none;margin:0;padding:0}#crush-list li,#match-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}#match-list li{font-weight:750}.danger-button{margin-top:10px;color:#a22d42}footer{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:.9rem;padding:22px 0 32px;border-top:1px solid var(--line)}.footer-home{color:var(--ink);font-weight:700;text-decoration:none}[hidden]{display:none!important}
@media(max-width:600px){.app-page{padding:0 16px}.app-header{min-height:66px}main{margin:28px auto 40px}.panel{border-radius:18px;padding:22px}.add-row{display:block}.add-row .button{width:100%;margin-top:10px}.welcome .link-button{position:static}.agreement{font-size:.84rem!important}footer{flex-wrap:wrap}}
.contact-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.contact-options p{flex-basis:100%;margin:2px 0}.secondary-button{border:1px solid #bbaab1;border-radius:24px;background:transparent;color:var(--ink);padding:9px 14px;min-height:42px;font-weight:700;cursor:pointer}.secondary-button:hover,.contact-choice:hover{background:#f5e9e8}.secondary-button:focus-visible,.contact-choice:focus-visible{outline:3px solid #bd526b55;outline-offset:2px}dialog{width:min(560px,calc(100% - 28px));max-height:min(80vh,720px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);box-shadow:0 24px 80px #27131f44}dialog::backdrop{background:#28192388}.dialog-inner{padding:24px}.dialog-inner h2{margin:0 0 14px}.dialog-inner label{display:block;font-weight:700;margin:14px 0 7px}.dialog-inner input{width:100%;min-height:46px;border:1px solid #bbaab1;border-radius:12px;padding:9px 12px}.contact-results{max-height:48vh;overflow:auto;margin:12px 0}.contact-results li{border-top:1px solid var(--line)}.contact-choice{width:100%;border:0;background:transparent;text-align:left;color:var(--ink);padding:13px 10px;overflow-wrap:anywhere;cursor:pointer;font:inherit}.contact-options .notice:empty{display:none}
.invite-status{display:block;flex:1 1 100%;margin-top:-10px;color:var(--muted);font-size:.82rem;line-height:1.4}#crush-list li{flex-wrap:wrap}#crush-list .remove-button{margin-left:auto}
.match-dialog{width:min(500px,calc(100% - 28px));padding:0;border:1px solid #f0dfe3;border-radius:28px;background:var(--card);color:var(--ink);box-shadow:0 24px 90px #27131f55}.match-dialog::backdrop{background:#2d1a288c;backdrop-filter:blur(4px)}.match-dialog-inner{padding:clamp(28px,7vw,48px) clamp(22px,6vw,40px);text-align:center}.match-dialog-inner .eyebrow{margin-bottom:12px}.match-dialog-inner h2{font-size:clamp(42px,10vw,58px);margin:4px 0 14px}.match-dialog-inner .lede{margin:0 auto 18px;max-width:360px}.match-heart{font-size:54px;line-height:1;color:var(--pink);animation:match-pop .65s cubic-bezier(.2,.9,.2,1.25) both}.match-reveal-email{display:inline-block;margin:0 auto 24px;padding:10px 16px;border-radius:999px;background:#fff0f2;color:#69364d;font-weight:750;overflow-wrap:anywhere}.match-dialog .button{width:100%}.button:disabled{opacity:.65;cursor:wait}@keyframes match-pop{0%{transform:scale(.25) rotate(-18deg);opacity:0}70%{transform:scale(1.18) rotate(7deg);opacity:1}100%{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.match-heart{animation:none}}

#email-address-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0;overflow-wrap:anywhere}#email-address-list li span{min-width:0}
