:root{--ground: #FBFAF7;--surface: #FFFFFF;--ink: #14251C;--muted: #5A6B60;--faint: #8A9890;--rose: #A32E5A;--rose-deep: #87264B;--rose-soft: #F7E4EC;--green: #1E5B3E;--green-soft: #E6F1EA;--ochre: #B87613;--ochre-soft: #F6EAD8;--soft: #EAF0EA;--rule: #DCE4DC;--rule-soft: #EBF0EB;--ko: #A8412B;--ko-soft: #FBEDE9;--display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.12;margin:0}h1{font-size:1.5rem;font-weight:800}h2{font-size:1.1rem;font-weight:700}p{margin:0;text-wrap:pretty}a{color:var(--rose)}:focus-visible{outline:3px solid var(--rose);outline-offset:2px}.app{max-width:34rem;margin:0 auto;padding:0 1rem 5.5rem}.pile{display:flex;flex-direction:column;gap:.9rem}.lede{color:var(--muted);font-size:.93rem}.mini{color:var(--faint);font-size:.8rem}.abar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.5rem;padding:.7rem 0;background:#fbfaf7f0;backdrop-filter:saturate(1.3) blur(8px);border-bottom:1px solid var(--rule);margin-bottom:1rem}.brand{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--rose);display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.brand svg{width:18px;height:18px}.sp{flex:1}.langsel{display:inline-flex;gap:.15rem}.langsel button{font:700 .72rem var(--body);cursor:pointer;padding:.14rem .45rem;border-radius:999px;border:1px solid var(--rule);background:transparent;color:var(--faint)}.langsel button[aria-current=true]{background:var(--rose-soft);color:var(--rose-deep);border-color:var(--rose-soft)}.signout{display:none}label{display:block;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.25rem}input,select,textarea{width:100%;padding:.7rem .85rem;font:inherit;font-size:.97rem;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:12px}textarea{resize:vertical;min-height:4.5rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-soft)}.champ{display:flex;flex-direction:column}.champ .aide{font-size:.78rem;color:var(--faint);margin-top:.25rem}.champ.ko input,.champ.ko select{border-color:var(--ko)}.champ .ko-txt{font-size:.78rem;color:var(--ko);margin-top:.25rem}.tel{display:grid;grid-template-columns:auto 1fr;gap:.4rem;align-items:center}.tel .indic{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem;padding-left:.2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:999px;padding:.8rem 1.1rem;cursor:pointer;font:700 .95rem var(--body);background:var(--rose);color:#fffdf8;text-decoration:none}.btn[disabled]{background:var(--rule);color:var(--faint);cursor:default}.btn.q{background:transparent;border:1.5px solid var(--rule);color:var(--ink)}.btn.w{width:100%}.lien-nu{background:none;border:0;padding:0;font:inherit;color:var(--rose);text-decoration:underline;cursor:pointer}.cta{display:contents}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;font:600 .82rem var(--body);padding:.3rem .7rem;border-radius:999px;border:1px solid var(--rule);background:var(--surface);color:var(--ink)}.chip[aria-pressed=true]{background:var(--rose-soft);border-color:var(--rose-soft);color:var(--rose-deep)}.avis{background:var(--green-soft);border-left:3px solid var(--green);color:var(--green);padding:.6rem .8rem;border-radius:0 10px 10px 0;font-size:.88rem}.alerte{background:var(--ko-soft);border-left:3px solid var(--ko);color:var(--ko);padding:.6rem .8rem;border-radius:0 10px 10px 0;font-size:.88rem}.carte{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:1rem}.sep{height:1px;background:var(--rule);margin:.4rem 0}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;background:#fffffff5;backdrop-filter:blur(8px);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.12rem;padding:.5rem 0 .6rem;text-decoration:none;color:var(--faint);font:600 .68rem var(--body)}.tabs a svg{width:21px;height:21px}.tabs a[aria-current=page]{color:var(--rose)}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem}.ph{position:relative;margin:0;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--soft);border:1px solid var(--rule)}.ph img{width:100%;height:100%;object-fit:cover;display:block}.ph-etat{position:absolute;top:.4rem;left:.4rem;font-size:.72rem;font-weight:600;background:var(--ochre-soft);color:var(--ochre);border-radius:99px;padding:.1rem .45rem}.ph-etat.ok{background:var(--rose-soft);color:var(--rose-deep)}.ph-actions{position:absolute;left:0;right:0;bottom:0;display:flex;gap:.5rem;align-items:center;padding:.3rem .5rem;font-size:.8rem;background:linear-gradient(transparent,#06120cc7)}.ph-actions .lien-nu{color:#fff;text-decoration:none;font-size:1rem;line-height:1}.ph-actions .lien-nu[disabled]{opacity:.35}.ph-actions .lien-nu.ko{margin-left:auto;font-size:.78rem;text-decoration:underline}.ph-ajout{display:grid;place-items:center;border:1.5px dashed var(--rule);background:var(--surface);color:var(--faint);font-size:1.7rem;cursor:pointer}.ph-ajout[disabled]{cursor:default;font-size:.85rem}.lien-carte{display:flex;align-items:baseline;gap:.6rem;text-decoration:none;color:var(--ink)}.lien-carte .mini{margin-left:auto;color:var(--rose)}.bloques{list-style:none;margin:0;padding:0;gap:.45rem}.bloques li{display:flex;align-items:baseline;gap:.6rem}.bloques li>span:first-child{flex:1}.relations{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.7rem}.rel{margin:0}.rel img,.rel-vide{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:14px;background:var(--soft);border:1px solid var(--rule)}.rel-vide{background:var(--green-soft) radial-gradient(circle at 50% 38%,var(--surface) 17%,transparent 18%)}.rel figcaption{display:flex;flex-direction:column;gap:.1rem;padding:.4rem .1rem 0}.rel figcaption b{font-size:.92rem}.rel figcaption .lien-nu{align-self:flex-start;font-size:.78rem;margin-top:.15rem}.grille-profils{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.8rem;align-items:start}.vign{display:block;padding:0;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.vign img,.vign .rel-vide{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:14px;background:var(--soft);border:1px solid var(--rule)}.vign-txt{display:flex;flex-direction:column;gap:.05rem;padding:.4rem .1rem 0}.vign-txt b{font-size:.92rem}.age{font-weight:400;color:var(--muted)}.seen{color:var(--faint);font-variant:small-caps;letter-spacing:.02em}.profil-vu h1{margin-top:.2rem}.cartes{display:flex;flex-direction:column;gap:.6rem}.cartes img{width:100%;height:auto;border-radius:16px;display:block;background:var(--soft);border:1px solid var(--rule)}.bio{white-space:pre-wrap}.fiche{margin:0;display:flex;flex-direction:column;gap:.5rem}.fiche dt{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.fiche dd{margin:.1rem 0 0}.verdict{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;position:sticky;bottom:4.4rem;padding:.5rem 0;background:linear-gradient(transparent,var(--ground) 30%)}.centre{display:block;margin:0 auto}.lien-nu.ko{color:var(--ko)}.feuille{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.feuille-fond{position:absolute;inset:0;background:#0a140f80}.feuille-corps{position:relative;background:var(--surface);width:min(34rem,100%);border-radius:18px 18px 0 0;padding:1.1rem 1rem 1.4rem;max-height:86vh;overflow-y:auto;box-shadow:0 -8px 40px #14251c2e}.feuille-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.case{display:flex;gap:.5rem;align-items:flex-start;font-weight:400}.case input{margin-top:.2rem;flex:none;width:auto}.fils{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.fils li+li{border-top:1px solid var(--rule-soft)}.fil{display:flex;gap:.7rem;align-items:center;width:100%;padding:.65rem .3rem;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left;border-radius:12px}.fil:hover{background:var(--surface)}.fil img,.fil .rel-vide{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--rule)}.fil-txt{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.fil-tete{display:flex;align-items:baseline;gap:.5rem}.fil-tete b{flex:1;font-size:.95rem}.fil-tete .mini{flex:none}.apercu{font-size:.84rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apercu.gras{color:var(--ink);font-weight:600}.pastille{flex:none;background:var(--rose);color:#fff;font-size:.72rem;font-weight:700;border-radius:99px;min-width:1.25rem;height:1.25rem;display:grid;place-items:center;padding:0 .3rem}.conversation{display:flex;flex-direction:column;min-height:calc(100vh - 8rem)}.conv-top{position:sticky;top:3.1rem;z-index:5;display:flex;align-items:center;gap:.55rem;padding:.55rem .2rem;margin-bottom:.3rem;background:var(--ground);border-bottom:1px solid var(--rule)}.retour{text-decoration:none;color:var(--muted);font-size:1.15rem;line-height:1;padding:.15rem .3rem}.conv-por{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--rule)}.conv-qui{display:flex;flex-direction:column;line-height:1.2;flex:1;min-width:0}.conv-qui b{font-size:.95rem}.etat{font-size:.74rem;color:var(--faint)}.etat.ok{color:var(--green)}.conv-menu{border:0;background:none;font:inherit;font-size:1.1rem;color:var(--muted);cursor:pointer;padding:.1rem .4rem;line-height:1}.conv-actions{position:absolute;right:.2rem;top:100%;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:.5rem .8rem;box-shadow:0 8px 24px #14251c1f;z-index:6}.bulles{display:flex;flex-direction:column;gap:.3rem;padding:.4rem 0 1rem;flex:1}.bulle{max-width:76%;padding:.5rem .72rem .3rem;border-radius:14px;font-size:.89rem;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.bulle.eux{align-self:flex-start;background:var(--surface);border:1px solid var(--rule);border-bottom-left-radius:4px}.bulle.moi{align-self:flex-end;background:var(--rose-soft);color:var(--rose-deep);border-bottom-right-radius:4px}.bulle time{display:block;text-align:right;font-size:.63rem;color:var(--faint);margin-top:.12rem}.bulle.moi time{color:var(--rose);opacity:.75}.bulle.attente{opacity:.55}.daysep{align-self:center;font-size:.66rem;color:var(--faint);background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:.06rem .55rem;margin:.5rem 0 .3rem}.bulle.frappe{display:flex;gap:.22rem;padding:.62rem .72rem;align-items:center}.bulle.frappe span{width:6px;height:6px;border-radius:50%;background:var(--faint);animation:frappe 1.1s infinite}.bulle.frappe span:nth-child(2){animation-delay:.18s}.bulle.frappe span:nth-child(3){animation-delay:.36s}@keyframes frappe{0%,60%,to{opacity:.25}30%{opacity:1}}@media (prefers-reduced-motion: reduce){.bulle.frappe span{animation:none;opacity:.5}}.surete{align-self:stretch;font-size:.74rem;color:var(--muted);background:var(--surface);border:1px dashed var(--rule);border-radius:12px;padding:.5rem .7rem;margin:.6rem 0}.ecrire{display:flex;gap:.45rem;align-items:center;position:sticky;bottom:4.2rem;background:var(--ground);padding:.5rem 0}.ecrire input{flex:1;padding:.6rem .85rem;font:inherit;border:1px solid var(--rule);border-radius:999px;background:var(--surface)}.envoi{flex:none;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--rose);color:#fff;cursor:pointer}.envoi svg{width:19px;height:19px}.envoi[disabled]{background:var(--rule);color:var(--faint);cursor:default}@media (min-width: 48rem){.app{max-width:none;padding:0}.abar{min-height:3.4rem;gap:.9rem;margin-bottom:0;padding:.5rem max(1.5rem,calc((100% - 76rem)/2))}.abar .tabs{position:static;display:flex;gap:.15rem;margin-left:.4rem;background:none;border:0;padding:0;backdrop-filter:none}.abar .tabs a{flex:none;flex-direction:row;gap:.4rem;padding:.42rem .85rem;border-radius:999px;font-size:.9rem;color:var(--muted)}.abar .tabs a svg{width:18px;height:18px}.abar .tabs a:hover{background:var(--surface);color:var(--ink)}.abar .tabs a[aria-current=page]{background:var(--rose-soft);color:var(--rose-deep)}.signout{display:inline;background:none;border:0;padding:0;cursor:pointer;font:600 .88rem var(--body);color:var(--muted)}.signout:hover{color:var(--ko)}.view{margin:0 auto;padding:1.4rem 1.5rem 3rem;width:100%}.view-narrow{max-width:30rem}.view-reading,.view-thread{max-width:46rem}.view-form{max-width:58rem}.view-profile{max-width:64rem}.view-wide,.view-landing{max-width:76rem}.view-desk{max-width:none;padding:0}.view:not(.view-narrow) .btn.w{width:auto;min-width:12rem;align-self:flex-start}.view .grille-profils+.btn.w{align-self:center}.view .carte.pile>.btn{align-self:flex-start}.btn.q:hover{border-color:var(--ink)}.chip:hover{border-color:var(--faint)}.view-landing>.pile{display:grid;grid-template-columns:1.15fr .85fr;grid-template-areas:"title promises" "lead promises" "cta promises";column-gap:3.5rem;row-gap:1rem;align-items:start;padding-top:2.4rem}.view-landing h1{grid-area:title;font-size:clamp(2.4rem,4.4vw,3.5rem);line-height:1.02}.view-landing .lede{grid-area:lead;font-size:1.12rem;max-width:34rem}.view-landing .carte{grid-area:promises;align-self:center}.view-landing .cta{grid-area:cta;display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}.view-landing .cta .btn{width:auto;min-width:0;padding:.9rem 1.5rem;font-size:1rem}.view-wide .grille-profils{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1rem .9rem}.view-wide .relations{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.9rem .8rem}.vign:hover .vign-txt b{color:var(--rose)}.vign[aria-current=true] img,.vign[aria-current=true] .rel-vide{outline:3px solid var(--rose);outline-offset:3px}.view-profile .profil-vu,.pane-detail .profil-vu{display:grid;grid-template-columns:minmax(16rem,24rem) 1fr;column-gap:2.2rem;row-gap:.9rem;align-items:start}.profil-vu>*{grid-column:2}.profil-vu>.lien-nu:first-child{grid-column:1 / -1}.profil-vu>.cartes{grid-column:1;grid-row:2 / span 12;position:sticky;top:4.6rem}.profil-vu .verdict{position:static;grid-template-columns:auto auto;justify-content:start;gap:.7rem;background:none;padding:0}.profil-vu .verdict .btn{min-width:11rem}.profil-vu .centre{margin:0;justify-self:start;font-size:.85rem}.view-thread{padding-top:0}.view-thread .conversation{min-height:calc(100vh - 3.5rem)}.conv-top{top:calc(3.4rem + 1px)}.bulle{max-width:min(76%,34rem)}.ecrire{bottom:0;padding:.7rem 0 1.1rem}.view-form form.pile{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row dense;gap:1rem 2.2rem;align-items:start}.view-form form.pile>:not(.champ),.view-form form.pile>.champ.large{grid-column:1 / -1}.view-form form.pile>.btn.w{justify-self:start}.feuille{align-items:center}.feuille-corps{border-radius:18px;width:min(30rem,92%);padding:1.2rem 1.3rem 1.3rem;box-shadow:0 30px 80px #14251c4d}}@media (min-width: 68rem){.desk{display:grid;grid-template-columns:minmax(30rem,38rem) 1fr;height:calc(100vh - 3.4rem - 1px)}.desk-threads{grid-template-columns:minmax(22rem,26rem) 1fr}.pane{overflow:auto;min-width:0}.pane-list{border-right:1px solid var(--rule);padding:1.2rem 1.4rem 2rem}.desk-threads .pane-list{padding:1.2rem .9rem 2rem}.pane-detail{padding:1.2rem 2rem 2rem}.desk-threads .pane-detail{padding:0 1.8rem;display:flex;flex-direction:column}.pane-empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--faint);font-size:.95rem}.pane-list .grille-profils{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.9rem .8rem}.pane-list .fil[aria-current=true]{background:var(--rose-soft)}.pane-detail .profil-vu{grid-template-columns:minmax(15rem,21rem) 1fr;column-gap:1.8rem}.pane-detail .profil-vu>.lien-nu:first-child{display:none}.pane-detail .profil-vu>.cartes{grid-row:1 / span 12;top:0}.pane-detail .conversation{min-height:100%}.pane-detail .conv-top{top:0}.pane-detail .retour{display:none}}
