:root{color:#241820;font-synthesis:none;background:#f7f0e5;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;color:#17211b;background:#fff;border:1px solid #c9cec8;border-radius:999px;padding:.65rem 1rem}.primary{color:#fff;background:#175d40;border-color:#175d40}.danger{color:#9b2f2f;border-color:#e5c3c3}.ghost{background:0 0}.center{place-items:center;min-height:100vh;display:grid}.auth-shell{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.brand-panel{color:#f9f6ed;background:#173d2e;flex-direction:column;justify-content:center;padding:clamp(3rem,9vw,9rem);display:flex}.brand-panel h1{max-width:8ch;margin:1rem 0;font-family:Georgia,serif;font-size:clamp(3.5rem,8vw,7rem);line-height:.95}.brand-panel p{color:#cfe0d6;max-width:34rem;font-size:1.25rem;line-height:1.6}.eyebrow{letter-spacing:.18em;color:#a26924;font-size:.72rem;font-weight:800}.auth-card{background:#fff;border-radius:1.5rem;width:min(30rem,90%);margin:auto;padding:2rem;box-shadow:0 24px 80px #26382c1a}.tabs{gap:.5rem;margin-bottom:2rem;display:flex}.tabs button{flex:1}.tabs .active{background:#e5efe9;border-color:#175d40}form{gap:1rem;display:grid}label{gap:.45rem;font-weight:650;display:grid}input,textarea{color:#17211b;background:#fff;border:1px solid #cdd3ce;border-radius:.75rem;width:100%;padding:.8rem}textarea{resize:vertical;min-height:6rem}small{color:#66726a}.error{color:#962b2b}.success{color:#17633f}header{color:#fff9ef;z-index:2;background:#321b2c;border-bottom:1px solid #513044;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,5vw,5rem);display:flex;position:sticky;top:0}header>div,header nav{align-items:center;gap:.75rem;display:flex}.mark{color:#fff;background:#173d2e;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-weight:800;display:grid}.dashboard{width:min(1200px,92%);margin:auto;padding-bottom:5rem}.hero{justify-content:space-between;align-items:center;gap:2rem;min-height:22rem;display:flex}.hero h1{max-width:12ch;margin:.75rem 0;font:4rem/1 Georgia,serif}.hero p{color:#59655d}.privacy{background:#fff;border-radius:1rem;grid-auto-flow:column;align-items:center;padding:1rem;display:flex}.privacy input{width:auto}.section-title{justify-content:space-between;align-items:end;gap:2rem;margin:2rem 0 1rem;display:flex}.section-title h2{margin:.5rem 0 0;font:2rem Georgia,serif}.search{grid-template-columns:minmax(12rem,22rem) auto}.grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.profile-card,.request{background:#fff;border:1px solid #dde1dd;border-radius:1.2rem;padding:1.25rem}.app-tabs{gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.app-tabs .active{color:#fff;background:#173d2e}.card-top{justify-content:space-between;align-items:start;display:flex}.settings-card{background:#fff;border-radius:1.2rem;max-width:38rem;margin:3rem auto;padding:2rem}.settings-card h2{font:2rem Georgia,serif}.ai-label{background:#f7e8ca;border-radius:999px;width:fit-content;padding:.2rem .45rem;font-size:.7rem;color:#68440f!important;display:inline-block!important}.locked{color:#59655d;background:#f3f1eb;border-radius:.7rem;padding:.75rem}.messages-shell{background:#fffaf2;border:1px solid #e2d5c7;border-radius:1.3rem;grid-template-columns:minmax(15rem,20rem) 1fr;min-height:36rem;margin-top:2rem;display:grid;overflow:hidden}.conversation-list{color:#fff8ed;background:#3a2032;padding:1rem}.conversation-list h2{margin:.4rem 0}.conversation-list>button{text-align:left;width:100%;color:inherit;background:0 0;border:0;border-radius:.8rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;display:grid}.conversation-list button span:nth-child(2){min-width:0}.conversation-list button small{white-space:nowrap;text-overflow:ellipsis;color:#d9c6d1;display:block;overflow:hidden}.avatar.small{width:2.3rem;height:2.3rem}.unread{color:#2d1827;background:#d69d52;border-radius:999px;padding:.15rem .45rem}.connection-state{text-transform:capitalize}.connection-state.online{color:#8bd5aa}.connection-state.offline{color:#ffaaa3}.chat-panel{grid-template-rows:auto 1fr auto auto;min-width:0;display:grid}.chat-header{border-bottom:1px solid #e8ddd0;justify-content:space-between;padding:1rem 1.25rem;display:flex}.chat-header strong{margin-right:.5rem}.message-stream{background:#fbf6ed;flex-direction:column;gap:.7rem;padding:1.25rem;display:flex;overflow-y:auto}.bubble{background:#fff;border-radius:1rem;max-width:min(75%,34rem);padding:.7rem 1rem;box-shadow:0 2px 12px #3b20310d}.bubble.mine{color:#fff;background:#563248;align-self:end}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .3rem}.bubble small{opacity:.7}.typing{color:#756470}.composer{border-top:1px solid #e8ddd0;grid-template-columns:1fr auto;padding:1rem}.chat-error{margin:.5rem 1rem}.chat-empty{margin:auto}.calling{margin-left:auto}.call-actions{gap:.4rem;display:flex}.call-overlay{z-index:10;color:#fff8ed;text-align:center;background:#241520ed;place-content:center;padding:1rem;display:grid;position:fixed;inset:0}.call-videos{background:#130b11;border-radius:1.2rem;width:min(80vw,52rem);height:min(60vh,34rem);position:relative;overflow:hidden}.call-videos video:first-child{object-fit:cover;width:100%;height:100%}.call-videos video:last-child{background:#000;border-radius:.7rem;width:25%;position:absolute;bottom:1rem;right:1rem}.call-overlay .actions{justify-content:center}.calling details{color:#241820;z-index:3;background:#fff;border-radius:.6rem;margin-top:.5rem;padding:.5rem;position:absolute;right:1rem}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #d69d52}.avatar{color:#175d40;background:#e4ede7;border-radius:50%;place-items:center;width:3.4rem;height:3.4rem;font:1.5rem Georgia,serif;display:grid}.profile-heading{align-items:center;gap:.5rem;display:flex}.profile-heading h3{margin-bottom:0}.online{color:#17633f;background:#d9f2e2;border-radius:999px;padding:.25rem .45rem;font-size:.7rem}.city{color:#6b746e;font-size:.9rem}.actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.request-list{gap:.75rem;display:grid}.request{justify-content:space-between;align-items:center;gap:1rem;display:flex}.request span{color:#6b746e;margin-top:.25rem;display:block}.request blockquote{border-left:3px solid #d6b070;margin:.75rem 0 0;padding-left:.75rem}.empty{color:#6b746e}@media (width<=760px){.auth-shell{grid-template-columns:1fr}.brand-panel{padding:3rem 2rem}.brand-panel h1{font-size:3.5rem}.hero,.section-title,.request{flex-direction:column;align-items:stretch}.hero{min-height:auto;padding:4rem 0}.hero h1{font-size:3rem}.search{grid-template-columns:1fr auto}header nav span{display:none}.messages-shell{grid-template-columns:1fr}.conversation-list{max-height:14rem;overflow-y:auto}.chat-panel{min-height:28rem}.bubble{max-width:88%}}:root{--spark-midnight:#251529;--spark-plum:#301d35;--spark-plum-soft:#49304c;--spark-rose:#d9859a;--spark-rose-deep:#a44e70;--spark-ivory:#f5ece4;--spark-paper:#fffaf6;--spark-champagne:#b99672;--spark-ink:#2d202e;--spark-muted:#705f69;--spark-border:#e6d6dd;background:var(--spark-ivory);color:var(--spark-ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{background:var(--spark-ivory)}button{border-color:var(--spark-border);color:var(--spark-ink);transition:background-color .16s,border-color .16s,transform .16s}button:hover{border-color:var(--spark-rose-deep)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--spark-rose);outline-offset:3px}input,textarea{border-color:var(--spark-border);color:var(--spark-ink)}input:focus,textarea:focus{border-color:var(--spark-rose-deep)}.primary{background:var(--spark-plum);border-color:var(--spark-plum);color:#fff;font-weight:700}.primary:hover{background:#573355;border-color:#573355}.eyebrow{color:#a95c70;letter-spacing:.2em}.addafan-logo{object-fit:contain;object-position:left center;width:100%;height:auto;display:block}.auth-shell{background:var(--spark-ivory);grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)}.brand-panel{color:var(--spark-paper);background:radial-gradient(circle at 85% 18%,#654064 0%,#0000 34%),radial-gradient(circle at 16% 80%,#563348 0%,#0000 36%),linear-gradient(140deg,#251529 10%,#39223e 75%,#452b49);padding:clamp(2.25rem,7vw,7rem);position:relative;overflow:hidden}.brand-panel:after{content:"";pointer-events:none;border:1px solid #e5a7b43b;border-radius:50%;width:32vw;height:32vw;position:absolute;bottom:-19vw;right:-17vw}.brand-panel-inner{z-index:1;max-width:36rem;position:relative}.auth-logo{width:min(24rem,90%);max-height:8rem;margin:0 0 clamp(2.7rem,7vh,5rem)}.brand-panel .eyebrow{color:#e1afbc}.brand-panel h1{max-width:unset;letter-spacing:-.07em;margin:.7rem 0 1.5rem;font:500 clamp(5rem,10vw,9rem)/.9 Georgia,Times New Roman,serif}.spark-symbol{color:var(--spark-rose);vertical-align:top;margin-left:.13em;font:.28em/1 system-ui,sans-serif;display:inline-block;transform:translateY(.4em)}.brand-panel p{color:#e7d9e3;margin:1rem 0;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.7}.brand-panel .brand-tagline{color:#f7d5dc;font:400 clamp(1.3rem,2.3vw,2rem)/1.35 Georgia,serif}.brand-benefits{flex-wrap:wrap;gap:.65rem;margin-top:2.1rem;display:flex}.brand-benefits span{color:#f3dbe4;border:1px solid #e8c9db52;border-radius:999px;padding:.55rem .85rem;font-size:.8rem}.auth-card{background:var(--spark-paper);border:1px solid #eadfe0;width:min(33rem,91%);padding:clamp(1.5rem,3vw,2.7rem);box-shadow:0 25px 80px #35203713}.auth-kicker{text-align:center;margin-bottom:1.5rem;font-size:.65rem;display:block}.tabs{margin-bottom:1.7rem}.tabs button{padding:.75rem .45rem}.tabs .active{border-color:var(--spark-rose-deep);color:#47273f;background:#f2dce2}.auth-card form label{color:#3b2a38}.auth-card .primary{border-radius:.85rem;margin-top:.3rem;padding:.9rem 1rem}.auth-card small{color:var(--spark-muted)}.spark-header{background:var(--spark-midnight);border-bottom:1px solid #7e4d665c}.header-brand{min-width:0}.header-logo{width:clamp(8.8rem,17vw,13rem);max-height:3.7rem}.brand-divider{background:#e5c5d052;width:1px;height:2.25rem;margin:0 .25rem}.spark-wordmark{color:#ffd7df;letter-spacing:-.03em;font:500 clamp(1.15rem,2vw,1.6rem) Georgia,serif}.spark-header nav button{color:var(--spark-midnight);background:#f9f2ee}.dashboard{width:min(1200px,92%)}.hero{min-height:22rem;position:relative}.hero h1{letter-spacing:-.055em;max-width:14ch;color:var(--spark-midnight);font:500 clamp(2.6rem,5.5vw,4.7rem)/1.08 Georgia,serif}.hero p{max-width:40rem;color:var(--spark-muted);line-height:1.65}.privacy{background:var(--spark-paper);border:1px solid var(--spark-border);box-shadow:0 12px 30px #2d18240a}.privacy input{accent-color:var(--spark-rose-deep)}.app-tabs{gap:.7rem}.app-tabs button{background:var(--spark-paper);padding:.65rem 1.1rem}.app-tabs .active{color:#fff;background:var(--spark-plum);border-color:var(--spark-plum)}.section-title h2,.settings-card h2{color:var(--spark-midnight)}.profile-card,.request,.settings-card{background:var(--spark-paper);border-color:var(--spark-border);box-shadow:0 10px 28px #2d18240a}.profile-card{padding:1.5rem}.profile-card h3{color:var(--spark-midnight);font-family:Georgia,serif;font-size:1.35rem}.avatar{color:var(--spark-plum);background:linear-gradient(145deg,#e8bfd0,#f9e8e6)}.online{color:#255c44;background:#e8efe9}.city,.empty,.request span{color:var(--spark-muted)}.empty{background:#fffaf688;border:1px dashed #cfb6c3;border-radius:1rem;padding:2rem}.messages-shell{background:var(--spark-paper);border-color:var(--spark-border)}.conversation-list{background:var(--spark-plum)}.conversation-list>button.selected{background:var(--spark-plum-soft)}.message-stream{background:#f9f1ee}.bubble.mine{background:var(--spark-plum-soft)}.unread{background:var(--spark-rose);color:var(--spark-midnight)}.call-overlay{background:#251529f2}.locked{color:var(--spark-muted);background:#f5e8e9}.request blockquote{border-color:var(--spark-rose)}@media (width<=760px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:19rem;padding:2.25rem 1.6rem}.auth-logo{width:min(16rem,83%);margin-bottom:1.5rem}.brand-panel h1{margin-bottom:.5rem;font-size:clamp(4rem,17vw,6rem)}.brand-panel .brand-tagline{font-size:1.3rem}.brand-panel p:not(.brand-tagline){font-size:.95rem}.brand-benefits{margin-top:1rem}.auth-card{margin:1.6rem auto 2.5rem}.spark-header{padding:.85rem 1rem}.header-logo{width:8.5rem}.brand-divider{height:1.7rem}.spark-wordmark{font-size:1.2rem}.spark-header nav{gap:.3rem}.spark-header nav button{padding:.45rem .7rem}.hero{padding:3.4rem 0 2.5rem}.hero h1{font-size:clamp(2.8rem,11vw,3.6rem)}.app-tabs{gap:.35rem}.app-tabs button{white-space:nowrap;padding:.55rem .8rem}.profile-card{padding:1.15rem}}@media (prefers-reduced-motion:reduce){button{transition:none}}.romance-motif{pointer-events:none;opacity:.32;position:absolute;inset:0;overflow:hidden}.romance-motif span{border:1.5px solid #dc9ab7;border-radius:48% 52% 56% 44%/56% 35% 65% 44%;width:40vw;min-width:250px;height:55vw;min-height:350px;position:absolute;top:18%;right:-12%;transform:rotate(-27deg)}.romance-motif span+span{border-color:#efc2d1;top:23%;right:-5%;transform:rotate(32deg)}.brand-panel-inner{isolation:isolate}.password-field{gap:.45rem;display:grid}.password-control{position:relative}.password-control input{padding-right:5.4rem}.password-toggle{color:#76425d;background:0 0;border:0;padding:.42rem .65rem;font-size:.85rem;font-weight:700;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.password-toggle:hover{background:#f2dce5;border-radius:.6rem}.password-toggle:active{transform:translateY(-50%)}.adult-confirm{flex-direction:row;align-items:flex-start;gap:.75rem;font-size:.9rem;font-weight:600;line-height:1.45;display:flex}.adult-confirm input{width:1.1rem;height:1.1rem;accent-color:var(--spark-rose-deep);flex:none;margin:.1rem 0 0}.registration-trust{color:var(--spark-muted);margin:0;font-size:.8rem;line-height:1.6}@media (width<=760px){.romance-motif span{width:60vw;height:70vw;top:10%;right:-20%}}:root{--spark-font-editorial:"Cormorant Garamond", Georgia, "Times New Roman", serif;--spark-font-ui:"Manrope", Inter, ui-sans-serif, system-ui, sans-serif;font-family:var(--spark-font-ui)}body,button,input,textarea,select{font-family:var(--spark-font-ui)}.brand-panel h1.spark-title{font-family:var(--spark-font-editorial);letter-spacing:-.055em;font-weight:600}.brand-panel .brand-tagline{font-family:var(--spark-font-editorial);margin:.45rem 0 1.15rem;font-size:clamp(1.45rem,2.4vw,2.15rem);font-style:italic;font-weight:500}.brand-panel .spark-copy{max-width:34rem;margin:1.25rem 0 1.4rem}.brand-panel .spark-copy p{max-width:none;margin:0}.brand-panel .spark-copy-intro{font-family:var(--spark-font-editorial);color:#fff6f2;letter-spacing:-.025em;font-size:clamp(1.65rem,3.1vw,2.85rem);font-weight:500;line-height:1.06}.spark-copy-intro em{color:#edb9ca;font-weight:500;display:inline}.brand-panel .spark-copy-focus{font-family:var(--spark-font-editorial);color:#fff9f3;letter-spacing:-.035em;margin:.18em 0 .12em;font-size:clamp(2.35rem,4.6vw,4.45rem);font-weight:600;line-height:1.02}.spark-copy-focus em{color:#f0aebf;font-weight:500}.brand-panel .spark-copy-close{font-family:var(--spark-font-ui);color:#e6d5df;letter-spacing:.01em;font-size:clamp(.85rem,1.1vw,1rem);font-weight:500;line-height:1.5}.brand-panel .eyebrow,.auth-card,.app-tabs,.privacy,.registration-trust{font-family:var(--spark-font-ui)}.spark-wordmark{font-family:var(--spark-font-editorial);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600}.hero h1{font-family:var(--spark-font-editorial);font-weight:600;line-height:.98}.hero h1 em{color:var(--spark-rose-deep);font-weight:500}.section-title h2.editorial-heading,.profile-card h3.editorial-heading{font-family:var(--spark-font-editorial);letter-spacing:-.015em;font-weight:600}.section-title h2.editorial-heading{font-size:clamp(2.2rem,3.5vw,3rem);line-height:1.05}.profile-card h3.editorial-heading{font-size:1.8rem;line-height:1.1}.settings-card h2{font-family:var(--spark-font-editorial);font-size:2.5rem}@media (width<=760px){.brand-panel .brand-tagline{font-size:1.5rem}.brand-panel .spark-copy{margin:.9rem 0}.brand-panel .spark-copy-intro{font-size:clamp(1.7rem,8vw,2.35rem)}.brand-panel .spark-copy-focus{font-size:clamp(2.55rem,12vw,3.7rem)}.brand-panel .spark-copy-close{font-size:.9rem}.spark-wordmark{font-size:1.5rem}}.spark-header{flex-wrap:wrap;gap:1rem}.spark-header nav{flex-wrap:wrap}@media (width<=600px){.spark-header nav{justify-content:space-between;width:100%}.spark-header nav>span{display:none}}
