:root{--ink:#211f1a;--paper:#f8f3e8;--card:#fffdf7;--line:#d9d0c0;--blue:#3156d8;--coral:#ff6b55;--green:#32785b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}.topbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:16px;padding:14px 24px;background:#f8f3e8f2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font:italic 29px Georgia,serif;color:var(--ink);text-decoration:none}.app-label{font-weight:800;color:#6b6257;margin-right:auto}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1260px;margin:auto;min-height:calc(100vh - 70px)}.sidebar{padding:28px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.nav-item{display:block;width:100%;border:0;border-radius:10px;padding:12px 14px;text-align:left;background:transparent;color:var(--ink);font:700 15px system-ui;text-decoration:none;cursor:pointer}.nav-item:hover,.nav-item.active{background:#e6ecff;color:#1839a4}.workspace{padding:42px clamp(18px,4vw,56px);min-width:0}.view,.welcome{max-width:920px}.view h1,.welcome h1{font:italic clamp(38px,6vw,62px)/1 Georgia,serif;letter-spacing:-2px;margin:14px 0 26px}.view h2{font:italic 29px Georgia,serif;margin:40px 0 14px}.eyebrow{display:inline-block;background:#f4c84b;border:1px solid var(--ink);padding:5px 9px;font-weight:900;font-size:11px}.card{background:var(--card);border:1px solid var(--ink);border-radius:16px;padding:24px;box-shadow:5px 5px 0 var(--ink)}.welcome{margin-top:8vh;padding:clamp(26px,6vw,64px)}.button,.secondary{border:1px solid var(--ink);border-radius:9px;padding:10px 15px;font-weight:800;cursor:pointer}.button{background:var(--coral);color:#fff;box-shadow:3px 3px 0 var(--ink)}.secondary{background:white;color:var(--ink)}button:disabled{opacity:.55;cursor:not-allowed}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.filters{display:grid;grid-template-columns:minmax(230px,1.1fr) 1fr 1fr auto;gap:14px;align-items:end;margin-bottom:28px}label{display:grid;gap:6px;font-weight:750}input,textarea,select{width:100%;border:1px solid #948a7c;border-radius:8px;padding:11px;background:#fff;font:inherit;color:inherit}textarea{min-height:125px;resize:vertical}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.person h2{margin:8px 0;font:italic 27px Georgia,serif}.person-meta{color:#675f54}.tags{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.tag{background:#e6ecff;border-radius:999px;padding:4px 9px;font-size:12px}.person-actions,.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.danger-link{border:0;background:transparent;color:#a12727;text-decoration:underline;cursor:pointer}.stack{display:grid;gap:12px}.connection-row{display:flex;gap:15px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.connection-row>div:first-child{margin-right:auto}.message-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:stretch}#conversationList{display:flex;flex-direction:column;gap:7px;min-height:520px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#f4efe5}.chat-contact{display:flex;align-items:center;gap:10px;width:100%;padding:9px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.chat-contact:hover,.chat-contact:focus-visible{border-color:var(--blue);background:#fff}.contact-avatar,.conversation-avatar,.message-avatar{display:grid;place-items:center;object-fit:cover;border:1px solid var(--ink);border-radius:50%;aspect-ratio:1;overflow:hidden;background:var(--yellow);color:var(--ink);font-weight:900}.contact-avatar{width:32px!important;height:32px!important;max-width:32px!important;flex:0 0 32px}.contact-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation{display:flex;flex-direction:column;min-height:520px;height:min(650px,72vh);padding:0;overflow:hidden}.agreement-card{margin:12px 14px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff8dc;max-height:330px;overflow:auto}.agreement-card h3{margin:0 0 7px;font:italic 22px Georgia,serif}.agreement-card p{margin:6px 0 12px}.agreement-card.ready{background:#edf8ef}.agreement-card ul{display:grid;gap:5px;margin:8px 0;padding-left:22px}.agreement-card summary{cursor:pointer;font-weight:800}.agreement-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.agreement-form .button{align-self:end}.agreement-waiting{padding:8px;border-radius:8px;background:#e6ecff}.chat-locked{margin:auto;padding:20px;text-align:center;color:#6b6257;font-weight:800}.message-form[hidden],.messages[hidden],.chat-locked[hidden]{display:none!important}.conversation-head{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);background:#f4efe5}.conversation-head h2{margin:0;font-size:22px}.conversation-avatar{width:36px!important;height:36px!important;max-width:36px!important;flex:0 0 36px}.chat-status{color:#35a853;font-size:14px}.messages{display:flex;flex:1;flex-direction:column;gap:10px;min-height:280px;padding:18px;overflow:auto;background:#fffdf8}.message-row{display:flex;align-items:flex-end;gap:7px}.message-row.mine{flex-direction:row-reverse}.message-avatar{width:24px!important;height:24px!important;max-width:24px!important;flex:0 0 24px;font-size:10px}.message{max-width:min(72%,560px);margin:0;padding:9px 12px;border:1px solid #ddd5c8;border-radius:14px 14px 14px 4px;background:#eee9df;overflow-wrap:anywhere}.message-row.mine .message{border-color:#c6d1ff;border-radius:14px 14px 4px 14px;background:#dfe6ff}.message-form{display:flex;flex-wrap:wrap;gap:9px;padding:11px 14px 14px;border-top:1px solid var(--line);background:#f4efe5}.message-form input{flex:1;min-width:160px}.emoji-picker{display:flex;gap:6px;flex:0 0 100%;overflow-x:auto;padding:3px 1px 7px;scrollbar-width:thin}.emoji-button{display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:20px;line-height:1;cursor:pointer}.emoji-button:hover,.emoji-button:focus-visible{border-color:var(--blue);background:#e6ecff;transform:translateY(-1px)}@media(max-width:760px){.agreement-form{grid-template-columns:1fr}.agreement-card{max-height:400px}.message-layout{grid-template-columns:1fr}#conversationList{min-height:auto;max-height:150px;overflow:auto}.conversation{min-height:500px;height:70vh}.message{max-width:82%}}.profile-form{display:grid;gap:18px}.passport-card{margin:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f7f3ea}.passport-card legend{padding:0 8px;font:italic 25px Georgia,serif}.passport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:15px}.match-score{margin-left:auto;padding:7px 10px;border:1px solid var(--ink);border-radius:999px;background:var(--yellow);font-size:14px}.match-explanation{padding:11px 12px;border-left:4px solid var(--blue);border-radius:6px;background:#eef2ff;line-height:1.45}@media(max-width:1050px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .button{min-height:47px}}@media(max-width:760px){.filters{grid-template-columns:1fr}.passport-grid{grid-template-columns:1fr}.match-score{align-self:flex-start}}.profile-form{display:grid;gap:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:flex-start;gap:9px;font-weight:600}.check input{width:auto;margin-top:5px}.hint,.fine,.status{color:#6b6257;font-size:13px}dialog{max-width:520px;width:calc(100% - 30px);border:1px solid var(--ink);border-radius:16px;padding:25px;background:var(--card);box-shadow:6px 6px 0 var(--ink)}dialog::backdrop{background:#211f1a88}dialog form{display:grid;gap:15px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.language select{width:auto;padding:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[dir="rtl"] .sidebar{border-right:0;border-left:1px solid var(--line)}[dir="rtl"] .nav-item{text-align:right}[dir="rtl"] .connection-row>div:first-child{margin-right:0;margin-left:auto}@media(max-width:760px){.topbar{padding:11px 14px}.app-label{display:none}.shell{display:block}.sidebar{position:sticky;top:61px;z-index:3;display:flex;flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px;background:var(--paper)}.nav-item{width:auto;white-space:nowrap}.workspace{padding:28px 16px 60px}.filters,.cards,.message-layout,.two{grid-template-columns:1fr}.section-head{display:block}.topbar .button{font-size:12px;padding:8px}.conversation{min-height:340px}}

.language select{max-width:150px}@media(max-width:560px){.language select{max-width:105px}.topbar{gap:8px}}
.profile-photo-field{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}.profile-photo-preview,.person-avatar{width:82px;height:82px;border-radius:50%;border:2px solid var(--ink);background:#e6ecff;object-fit:cover;display:grid;place-items:center;font:800 30px Georgia,serif;overflow:hidden}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-preview span{display:grid;place-items:center;width:100%;height:100%}.person-head{display:flex;align-items:center;gap:14px}.person-head h2{margin:5px 0}.person-avatar{width:64px;height:64px;flex:0 0 64px}.person-avatar-fallback{display:grid}.person input[type="file"]{max-width:100%}@media(max-width:520px){.profile-photo-field{grid-template-columns:1fr}.profile-photo-preview{width:74px;height:74px}}
.notification-bell{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;flex:0 0 42px;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--card);font-size:20px;line-height:1;cursor:pointer}.notification-bell:hover,.notification-bell:focus-visible{background:#e6ecff}.notification-bell .notification-badge{position:absolute;right:-7px;top:-7px;margin:0}.notification-bell[hidden]{display:none}
.notification-toggle{border:1px solid var(--ink);border-radius:999px;padding:7px 11px;background:var(--card);color:var(--ink);font:700 12px system-ui;white-space:nowrap;cursor:pointer}.notification-toggle:hover,.notification-toggle:focus-visible{background:#e6ecff}.notification-toggle[hidden]{display:none}.notification-toggle:disabled{cursor:default}@media(max-width:640px){.notification-toggle{max-width:92px;overflow:hidden;text-overflow:ellipsis;padding:7px 9px}}
.notification-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;margin-left:4px;border-radius:999px;background:var(--coral);color:#fff;font-size:11px;font-weight:900}.notification-badge[hidden]{display:none}
.chat-contact .notification-badge{margin-left:auto;flex:0 0 auto}
.contact-copy{display:grid;min-width:0;flex:1}.contact-top{display:flex;align-items:center;gap:8px;min-width:0}.contact-time{margin-left:auto;color:#766d61;font-size:11px;white-space:nowrap}.contact-preview{overflow:hidden;color:#766d61;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.chat-contact .notification-badge{margin-left:6px}
.message-time{margin:2px 7px 0;color:#82796d;font-size:10px}.message-row.mine .message-time{text-align:right}.message-day{align-self:center;margin:5px 0;padding:3px 9px;border-radius:999px;background:#f1ece2;color:#766d61;font-size:11px;font-weight:700}
.growing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.growing-person{display:flex;align-items:center;gap:13px}.growing-copy{min-width:0;flex:1}.growing-copy h2{margin:0 0 4px;font-size:24px}.growing-copy p{margin:0 0 10px;color:#675f54;font-size:13px}@media(max-width:760px){.growing-grid{grid-template-columns:1fr}}
.icebreaker-card{margin:12px 14px 0;padding:13px 15px;border:1px solid #d6a426;border-radius:12px;background:#fff7d8}.icebreaker-card span{display:block;color:#735b18;font-size:11px;font-weight:900;letter-spacing:.04em}.icebreaker-card p{margin:5px 0 10px;font:italic 18px/1.35 Georgia,serif}.icebreaker-card button{padding:6px 10px;font-size:12px}
.recommendation-card{margin:10px 14px 0;padding:11px 14px;border:1px solid #98acd9;border-radius:12px;background:#f2f6ff}.recommendation-card summary{cursor:pointer;font-weight:850}.recommendation-form{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px;margin-top:10px}.recommendation-form input,.recommendation-form select,.recommendation-form button{padding:7px 9px;font-size:13px}@media(max-width:650px){.recommendation-form{grid-template-columns:1fr}.recommendation-form button{justify-self:start}}
.activity-card{margin:10px 14px 0;padding:11px 14px;border:1px solid #85b69d;border-radius:12px;background:#eff9f3}.activity-card summary{cursor:pointer;font-weight:850}.activity-form{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(170px,.8fr) auto;gap:8px;margin-top:10px}.activity-form input,.activity-form select,.activity-form button{padding:7px 9px;font-size:13px}.activity-safety{margin:8px 0 0;color:#496657;font-size:11px}@media(max-width:780px){.activity-form{grid-template-columns:1fr}.activity-form button{justify-self:start}}
.journey-checkin{margin:9px 0;padding:8px 10px;border-radius:8px;background:#fff3cf;color:#684f12;font-size:12px;font-weight:750}.journey-decision.is-locked{opacity:.65}
.agreement-boundaries{grid-column:1/-1}.agreement-boundaries textarea{min-height:72px}.shared-boundaries{margin:10px 0;padding:10px;border-radius:9px;background:#fff3cf}.shared-boundaries p{margin:5px 0;font-size:13px}
.conversation{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.conversation-head{position:sticky;top:0;z-index:2}.messages{flex:0 0 360px}.message-form{position:sticky;bottom:0;z-index:2}@media(max-width:760px){.messages{flex-basis:310px}}
.filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.filters .button{min-height:47px}@media(max-width:900px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.filters{grid-template-columns:1fr}}
.invite-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:15px 17px;border:1px solid #c8a12c;border-radius:13px;background:#fff7d8}.invite-card p{margin:3px 0 0;color:#675f54;font-size:13px}.invite-actions{display:flex;gap:9px;flex:0 0 auto}.invite-actions button{padding:7px 10px;font-size:12px}@media(max-width:650px){.invite-card{align-items:flex-start;flex-direction:column}.invite-actions{width:100%}}
.journey-card{margin:12px 14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#eef2ff}.journey-card>summary{cursor:pointer;font:italic 22px Georgia,serif;font-weight:700}.journey-card>p{margin:8px 0 12px}.journey-progress{height:8px;margin:9px 0 14px;border-radius:999px;background:#d9dfea;overflow:hidden}.journey-progress span{display:block;height:100%;background:var(--green);transition:width .2s}.journey-steps{display:grid;gap:8px}.journey-step{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:8px;border-radius:9px;background:#fff}.journey-step input,.journey-decision input{width:auto}.journey-count{color:#6b6257;font-size:12px;white-space:nowrap}.journey-decision{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.journey-growing{padding:10px;border-radius:9px;background:#e6f6e9;color:#205f41;font-weight:800}
.journey-featured{border:2px solid #3156d8;background:linear-gradient(145deg,#eef2ff,#fffdf8);box-shadow:3px 3px 0 #20201c}.journey-path{padding:9px 11px;border-radius:9px;background:#20201c;color:#fff;font-size:13px;font-weight:850;line-height:1.45}.journey-suggestion{padding:10px 12px;border:1px solid #d6a426;border-radius:9px;background:#fff7d8;font-weight:750}@media(max-width:560px){.journey-featured{margin:10px 8px 0;padding:11px}.journey-card>summary{font-size:19px}.journey-path{font-size:12px}}
.cultural-profile textarea{min-height:90px}.cultural-card{margin:12px 14px 0;padding:11px 14px;border:1px solid #a6b5df;border-radius:12px;background:#f4f7ff}.cultural-card>summary{cursor:pointer;font-weight:850}.cultural-card ul{display:grid;gap:6px;margin:10px 0;padding-left:22px}.cultural-card li{overflow-wrap:anywhere}.cultural-night,.cultural-tip{margin:9px 0;padding:8px 10px;border-radius:8px}.cultural-night{background:#fff3cf}.cultural-tip{background:#e9f5ed;color:#245b43;font-size:13px}
.message-bubble{display:grid;justify-items:start;max-width:min(72%,560px)}.message-bubble .message{max-width:100%}.message-row.mine .message-bubble{justify-items:end}.copy-translation{margin:3px 4px 0;padding:2px 5px;border:0;background:transparent;color:#3156d8;font:600 11px system-ui;text-decoration:underline;cursor:pointer}.copy-translation:hover,.copy-translation:focus-visible{color:#1839a4}.clipboard-fallback{position:fixed;left:-9999px;top:0;width:1px;height:1px}@media(max-width:760px){.message-bubble{max-width:82%}}
/* Full profile preview */
.profile-dialog{width:min(680px,calc(100% - 24px));max-height:88vh;padding:0;border:1px solid var(--ink);border-radius:18px;background:var(--card);box-shadow:7px 7px 0 var(--ink);overflow:auto}.profile-dialog::backdrop{background:#211f1a99}.profile-dialog #profileDialogContent{padding:26px 26px 8px}.profile-dialog>.dialog-actions{position:sticky;bottom:0;justify-content:flex-end;margin:0;padding:14px 26px 22px;background:linear-gradient(transparent,var(--card) 30%)}.profile-preview-head{display:flex;align-items:center;gap:16px}.profile-preview-head .person-avatar{width:76px!important;height:76px!important;flex:0 0 76px}.profile-preview-head h2{margin:0;font:italic 34px Georgia,serif}.profile-preview-score{margin-left:auto;font-weight:900;color:var(--blue)}.profile-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.profile-preview-item{padding:11px;border-radius:10px;background:#f4efe5}.profile-preview-item strong{display:block;font-size:12px;color:#675f54}.profile-preview-match{padding:14px;border:1px solid #9bb0ff;border-radius:12px;background:#eef2ff}.profile-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}@media(max-width:560px){.profile-preview-grid{grid-template-columns:1fr}.profile-preview-head{align-items:flex-start}.profile-preview-score{margin-left:0}.profile-dialog #profileDialogContent{padding:20px 18px 6px}}
/* Prominent mobile installation prompt */
.install-banner{position:fixed;z-index:20;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:min(680px,calc(100% - 24px));padding:13px 46px 13px 13px;border:2px solid var(--ink);border-radius:16px;background:#fff8dc;box-shadow:5px 5px 0 var(--ink)}.install-banner[hidden]{display:none}.install-banner img{width:52px;height:52px;flex:0 0 52px;border-radius:12px}.install-banner div{min-width:0;flex:1}.install-banner strong{font-size:17px}.install-banner p{margin:2px 0;font-size:13px;line-height:1.35}.install-banner .button{white-space:nowrap}.install-dismiss{position:absolute;right:10px;top:6px;border:0;background:transparent;font-size:25px;cursor:pointer}@media(min-width:769px){.install-banner{display:none!important}}@media(max-width:520px){.install-banner{align-items:flex-start;flex-wrap:wrap}.install-banner div{width:calc(100% - 68px);flex:none}.install-banner .button{width:100%;font-size:16px;padding:12px}.install-banner img{width:48px;height:48px;flex-basis:48px}}
.favorite-button{border:1px solid #b98c16;border-radius:9px;padding:9px 12px;background:#fff8dc;color:#6b4b00;font-weight:800;cursor:pointer}.favorite-button.is-favorite{background:#f4c84b;color:var(--ink)}
.schedule-profile{display:grid;gap:18px}.available-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.available-times label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:600}.available-times input{width:auto;margin:0}@media(max-width:560px){.available-times{grid-template-columns:1fr}}
.voice-button{flex:0 0 auto;border:1px solid var(--ink);border-radius:9px;padding:10px 13px;background:#fff;font-size:18px;cursor:pointer}.voice-button.recording{background:#ffe0dc;color:#a12727;animation:voice-pulse 1s infinite}.voice-status{flex:0 0 100%;min-height:20px;color:#a12727;font-size:13px;font-weight:800}.message-audio{display:block;width:min(260px,100%);height:38px}.voice-message-label{display:block;margin-bottom:5px;font-size:12px;font-weight:800}@keyframes voice-pulse{50%{box-shadow:0 0 0 5px #ff6b5533}}
/* Keep account controls in the page flow so they never cover search or chat content. */
.topbar{position:relative;flex-wrap:wrap}.topbar .language{margin-left:auto}@media(max-width:760px){.sidebar{top:0}.topbar{gap:7px;padding:9px 10px}.topbar .brand{font-size:24px}.topbar .notification-toggle{max-width:86px}.topbar .language select{max-width:98px}.topbar #authButton{padding:8px 10px}}
.welcome-lead{max-width:720px;font-size:clamp(18px,2.5vw,23px);line-height:1.45}.welcome-difference{display:grid;gap:4px;margin:24px 0;padding:16px;border-left:5px solid var(--blue);border-radius:10px;background:#eef2ff}.welcome-difference strong{font-size:18px}.welcome-path{display:flex;gap:8px;margin:24px 0;padding:0;list-style:none;flex-wrap:wrap}.welcome-path li{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:850}.welcome-path li:not(:last-child)::after{content:"→";margin-left:6px;color:var(--blue)}@media(max-width:560px){.welcome{margin-top:2vh}.welcome-path{display:grid}.welcome-path li{justify-content:space-between;border-radius:10px}.welcome-path li:not(:last-child)::after{content:"↓"}}
.activity-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:11px 0}.activity-suggestions>strong{grid-column:1/-1;color:#315f49;font-size:12px}.activity-suggestion{padding:9px;border:1px solid #85b69d;border-radius:9px;background:#fff;color:var(--ink);font:700 12px/1.35 system-ui;text-align:left;cursor:pointer}.activity-suggestion:hover,.activity-suggestion:focus-visible{background:#dff2e7;border-color:#32785b}@media(max-width:680px){.activity-suggestions{grid-template-columns:1fr}}
.outcome-checkin{margin:12px 0 2px;padding:11px;border:1px solid #85b69d;border-radius:10px;background:#eff9f3}.outcome-checkin summary{cursor:pointer;font-weight:850}.outcome-checkin p{margin:7px 0;color:#496657;font-size:12px}.outcome-checkin form{display:grid;gap:8px}.outcome-checkin label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.outcome-checkin input{width:auto;margin:0}.outcome-checkin button{justify-self:start}
.compatibility-breakdown{margin:20px 0;padding:15px;border:1px solid #9bb0ff;border-radius:12px;background:#f7f8ff}.compatibility-breakdown h3{margin:0 0 12px}.breakdown-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,1.5fr) minmax(82px,auto);gap:10px;align-items:center;margin:8px 0;font-size:13px}.breakdown-track{height:8px;border-radius:999px;background:#d9dfea;overflow:hidden}.breakdown-track i{display:block;height:100%;border-radius:inherit;background:#3156d8}.breakdown-row strong{text-align:right;font-size:12px}@media(max-width:520px){.breakdown-row{grid-template-columns:1fr auto}.breakdown-track{grid-column:1/-1;grid-row:2}.breakdown-row strong{grid-column:2;grid-row:1}}
.activity-form{grid-template-columns:140px minmax(150px,1fr) minmax(170px,.8fr) minmax(170px,1fr) auto}.meeting-plan{min-width:min(420px,70vw);padding:13px;border:1px solid #85b69d;border-radius:13px;background:#eff9f3}.meeting-plan h4{margin:5px 0 10px;font:italic 19px Georgia,serif}.meeting-plan dl{display:grid;gap:5px;margin:0}.meeting-plan dl div{display:flex;gap:8px}.meeting-plan dt{font-weight:800}.meeting-plan dd{margin:0;overflow-wrap:anywhere}.meeting-plan-status{margin:10px 0 0;padding:6px 8px;border-radius:7px;background:#fff3cf;font-size:12px;font-weight:800}.meeting-plan-status.accepted{background:#dff2e7;color:#205f41}.meeting-plan-status.declined{background:#ffe0dc;color:#8b2525}.meeting-plan-actions{display:flex;gap:9px;margin-top:9px}@media(max-width:900px){.activity-form{grid-template-columns:1fr 1fr}.activity-form button{justify-self:start}}@media(max-width:560px){.activity-form{grid-template-columns:1fr}.meeting-plan{min-width:0;width:min(100%,75vw)}}
.video-call-button{margin-left:auto;border:1px solid var(--ink);border-radius:9px;padding:8px 11px;background:#3156d8;color:#fff;font-weight:850;cursor:pointer}.video-call-button:hover,.video-call-button:focus-visible{background:#1839a4}.video-call-invite{display:grid;gap:10px;min-width:min(300px,65vw);padding:13px;border:1px solid #9bb0ff;border-radius:13px;background:#eef2ff}.video-call-join{display:inline-block;justify-self:start;text-decoration:none}.message-row.mine .video-call-invite{justify-items:end}@media(max-width:520px){.conversation-head{flex-wrap:wrap}.video-call-button{width:100%;margin-left:48px}.video-call-invite{min-width:0;width:min(100%,72vw)}}
.incoming-call-dialog{text-align:center;width:min(390px,calc(100% - 28px));padding:28px}.incoming-call-dialog h2{margin:12px 0 4px;font:italic 29px Georgia,serif}.incoming-call-dialog p{margin:0 0 20px}.incoming-call-avatar{display:grid;place-items:center}.incoming-call-avatar .person-avatar{width:84px;height:84px;margin:auto}.incoming-call-pulse{display:inline-grid;place-items:center;width:42px;height:42px;margin:-24px 0 0 62px;border:3px solid var(--card);border-radius:50%;background:#3156d8;font-size:20px;animation:incoming-call-pulse 1.2s infinite}.incoming-call-dialog .dialog-actions{justify-content:center}@keyframes incoming-call-pulse{50%{box-shadow:0 0 0 12px #3156d828;transform:scale(1.06)}}
.video-call-status{margin:0;padding:7px 9px;border-radius:8px;background:#fff3cf;font-size:13px;font-weight:850}.video-call-actions{display:flex;gap:8px;flex-wrap:wrap}.call-accepted .video-call-status{background:#dff2e7;color:#205f41}.call-declined .video-call-status,.call-missed .video-call-status{background:#ffe0dc;color:#8b2525}
.quick-conversations{position:fixed;right:24px;bottom:24px;z-index:12;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid var(--ink);border-radius:999px;background:#eef2ff;color:var(--ink);box-shadow:4px 4px 0 var(--ink);font:800 14px system-ui;cursor:pointer}.quick-conversations[hidden]{display:none}.quick-conversations:hover,.quick-conversations:focus-visible{background:#dfe6ff;transform:translateY(-1px)}.quick-conversations-icon{font-size:19px}.quick-conversations .notification-badge{margin:0}.quick-conversations.has-unread{animation:conversation-nudge .55s ease 2}@keyframes conversation-nudge{50%{transform:translateY(-4px)}}@media(max-width:600px){.quick-conversations{right:16px;bottom:18px;width:52px;height:52px;min-height:52px;justify-content:center;padding:0}.quick-conversations-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.quick-conversations-icon{font-size:22px}.quick-conversations .notification-badge{position:absolute;right:-5px;top:-6px}.install-banner:not([hidden])~.quick-conversations{bottom:190px}}
.passport-progress{margin:0 0 22px;padding:18px 20px;border:1px solid #9bb0ff;border-radius:15px;background:#eef2ff;box-shadow:4px 4px 0 var(--ink)}.passport-progress-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.passport-progress-head span{color:#3156d8;font-size:11px;font-weight:900;letter-spacing:.05em}.passport-progress-head h2{margin:3px 0 0;font:italic 25px Georgia,serif}.passport-progress-head>strong{font:900 28px Georgia,serif;color:#3156d8}.passport-progress-track{height:11px;margin:14px 0 10px;border-radius:999px;background:#d9dfea;overflow:hidden}.passport-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#3156d8;transition:width .25s ease}.passport-progress>p{margin:8px 0}.passport-progress ul{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0;padding:0;list-style:none}.passport-progress li{padding:5px 9px;border:1px solid #bdc8ef;border-radius:999px;background:#fff;font-size:12px;font-weight:750}.passport-progress-impact{padding:9px 11px;border-radius:9px;background:#fff7d8;color:#634d13;font-size:12px;font-weight:750}.passport-progress.is-ready{border-color:#85b69d;background:#eff9f3}.passport-progress.is-ready .passport-progress-track span{background:#32785b}.passport-progress.is-ready .passport-progress-head>strong,.passport-progress.is-ready .passport-progress-head span{color:#32785b}@media(max-width:520px){.passport-progress{padding:15px}.passport-progress-head h2{font-size:21px}.passport-progress-head>strong{font-size:24px}}
