/* SinglesHub: expressive moments, readable controls, optional motion. */
.signup-flow:not(:has(.signup-scene)){display:block}
.frame-spectrum .preview-person,.frame-spectrum .story-photo,.preview-person.frame-spectrum{animation:none!important}
.journey-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;padding:38px;border:1px solid #e9dfc8;border-radius:28px;background:radial-gradient(circle at 95% 0%,#f6e5b7,transparent 50%),#faf8f3;margin-bottom:24px;overflow:hidden}
.journey-hero h3{font-size:clamp(29px,3vw,43px)!important;line-height:1.13;letter-spacing:-.045em;margin:15px 0;color:#191919}.journey-hero h3 em{font-family:Georgia,serif;font-weight:400}.journey-hero p{max-width:520px;line-height:1.7;font-size:14px;color:#656565}.journey-promises{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.journey-promises span{font-size:11px;padding:8px 11px;border-radius:30px;background:#fff;border:1px solid #e8e2d5}.journey-hero-art{position:relative;min-height:255px;display:grid;place-items:center}.hero-orbit{position:absolute;width:190px;height:190px;border:1px solid #cfb87c;border-radius:50%;box-shadow:0 0 0 28px #e9d9ad38,0 0 0 56px #e9d9ad24;z-index:-1}.hello-note{position:absolute;display:flex;align-items:center;gap:13px;background:white;padding:18px 22px;border:1px solid #e7e0d1;border-radius:19px;box-shadow:0 12px 25px #5b482118;font-size:33px;animation:hello-arrive .5s both}.hello-note span{font-size:16px;font-weight:750;white-space:nowrap}.hello-note small{display:block;font-size:10px;color:#656565;margin-top:7px;font-weight:400}.note-coffee{top:30px;left:0;transform:rotate(-7deg)}.note-heart{top:135px;right:0;transform:rotate(6deg);animation-delay:.15s}.note-wave{bottom:0;left:20px;transform:rotate(-3deg);animation-delay:.3s}.art-star{position:absolute;right:8px;top:0;color:#806323;font-size:28px}.community-choose{margin-bottom:20px}
.likes-hero{position:relative;isolation:isolate;padding:35px;border:1px solid #e9dfc8;border-radius:28px;background:radial-gradient(circle at 90% 40%,#f2e1b7,transparent 38%),#faf8f3;overflow:hidden;margin-bottom:24px}.likes-hero .page-heading{max-width:72%;margin:0 0 20px}.likes-hero .page-heading h3{font-size:clamp(28px,3vw,41px)!important;letter-spacing:-.045em}.likes-heart-art{position:absolute;right:45px;top:45px;font-size:80px;transform:rotate(10deg);filter:drop-shadow(0 12px 10px #9d7a2022);z-index:-1}.likes-heart-art span{position:absolute;left:-22px;top:-15px;font-size:28px}.likes-heart-art span:last-child{left:38px;top:78px;font-size:35px}.connection-flow{border-radius:24px;overflow:hidden}.connection-flow>div{background:#fff!important;border:1px solid #e7e0d1}.connection-flow b{color:#806323!important}.match-back{width:auto!important;min-width:108px!important;border-radius:18px!important;font-size:13px!important;padding:0 16px!important}
.match-demo-teaser{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:30px;border:1px solid #e7dfcd;background:#fffaf0;border-radius:26px;margin:25px 0}.match-demo-teaser h4{font-size:25px!important;letter-spacing:-.035em;margin:12px 0}.match-demo-teaser p{font-size:14px;line-height:1.7;color:#656565}.match-demo-teaser>.primary{grid-column:1;justify-self:start}.match-demo-teaser>small{grid-column:1/-1;color:#656565;font-size:11px}.demo-teaser-art{display:flex;align-items:center;gap:7px}.demo-teaser-art span{display:grid;place-items:center;font-size:30px;width:60px;height:60px;background:#fff;border:1px solid #e7dfcd;border-radius:20px;box-shadow:0 6px 14px #8063230c}.demo-teaser-art span:nth-child(2){transform:translateY(-13px) rotate(-8deg)}
dialog:has(.match-demo),dialog:has(.account-welcome){width:min(650px,calc(100vw - 24px));border-radius:30px;background:#fff;padding:35px;box-shadow:0 30px 100px #0003}
.match-demo,.account-welcome{text-align:center;position:relative;overflow:hidden;padding:15px 0}.match-demo h2{font-size:38px;line-height:1.12;letter-spacing:-.045em;margin:18px 0 30px}.match-demo-stage{animation:journey-reveal .35s ease-out}.demo-people{display:flex;align-items:center;justify-content:center;gap:25px;margin:10px 0 30px}.demo-avatar{position:relative;display:grid;place-items:center;width:96px;height:96px;border-radius:26px;background:#303030;color:#efd78e;font-size:37px;box-shadow:0 9px 25px #0001;transform:rotate(-7deg)}.demo-avatar:last-child{background:#efe5cb;color:#5b4821;transform:rotate(7deg)}.demo-avatar small{position:absolute;bottom:-25px;font-size:12px;color:#414141;letter-spacing:0}.demo-centre{font-size:43px}.demo-stage-1 .demo-centre,.demo-stage-2 .demo-centre{animation:match-pop .5s ease-out}.demo-result{display:inline-block;margin:18px 0 5px;padding:9px 16px;border:1px solid #d9bd74;background:#fff6dd;border-radius:40px;font-size:12px;font-weight:750;color:#5b4821}.match-demo-stage h3{font-size:23px;letter-spacing:-.025em;margin:18px 0 10px}.match-demo-stage>p{font-size:14px;line-height:1.7;color:#656565;max-width:400px;margin:0 auto}.demo-bubbles{display:grid;gap:9px;padding:10px 0}.demo-bubbles p{padding:13px 16px;background:#f4f4f4;border-radius:18px 18px 18px 4px;text-align:left;font-size:13px;max-width:83%;margin:0;animation:journey-reveal .5s both}.demo-bubbles p:last-child{justify-self:end;background:#f1e4bf;border-radius:18px 18px 4px 18px;animation-delay:.25s}.demo-progress{display:flex;gap:12px;justify-content:center;margin:25px 0}.demo-progress span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#eee;color:#656565;font-size:11px}.demo-progress .active{background:#191919;color:#efd78e}.demo-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.demo-fine{font-size:11px!important;color:#656565;margin-top:22px!important}
.account-welcome{background:radial-gradient(ellipse at 50% 22%,#f6e7ba,transparent 60%);padding:35px 10px}.welcome-heart{font-size:70px;margin:25px 0 20px;animation:match-pop .65s ease-out}.account-welcome h2{font-size:clamp(32px,5vw,46px);line-height:1.15;letter-spacing:-.045em;margin:0 0 18px}.account-welcome em{font-family:Georgia,serif;font-weight:400}.account-welcome>p{font-size:15px;line-height:1.7;max-width:350px;margin:auto;color:#656565}.welcome-mini-path{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:28px 0}.welcome-mini-path span{font-size:11px;border:1px solid #e4d8b8;border-radius:30px;padding:8px 12px;background:#fff}.account-welcome>.primary{min-height:52px;padding:14px 27px}.account-welcome>small,.journey-match>small{display:block;color:#656565;font-size:12px;margin-top:22px}.welcome-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.welcome-particles i{position:absolute;left:calc(var(--i) * 7%);top:-35px;font-style:normal;font-size:16px;animation:welcome-confetti 2.6s calc(var(--i) * .07s) ease-out both;opacity:0}.account-welcome>*:not(.welcome-particles),.journey-match>*:not(.welcome-particles){position:relative;z-index:1}.journey-match{position:relative;isolation:isolate;overflow:hidden;padding:32px 14px;background:radial-gradient(ellipse at 50% 20%,#f3e4b9,transparent 65%)}.journey-match .match-portraits{margin:26px 0}.journey-match h2{font-size:40px;line-height:1.12}.journey-match .your-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-story-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;padding:38px;border-radius:28px;background:#faf8f3;border:1px solid #e9dfc8;overflow:hidden;margin:0 0 28px}.profile-story-copy h3{font-size:clamp(30px,3.5vw,47px)!important;line-height:1.15;letter-spacing:-.045em;margin:17px 0}.profile-story-copy em{font-family:Georgia,serif;font-weight:400}.profile-story-copy>p{font-size:14px;line-height:1.8;color:#656565;max-width:470px}.profile-story-copy>.primary{margin:18px 0}.profile-completion{display:grid;gap:8px;max-width:300px}.profile-completion strong{font-size:12px}.profile-completion progress{width:100%;height:6px;accent-color:#806323}.profile-completion span{font-size:11px;color:#656565}.profile-photo-stack{position:relative;min-height:300px;max-width:300px;width:100%;justify-self:center}.profile-stack-card{position:absolute;inset:15px 15px 15px 15px;border-radius:22px;box-shadow:0 15px 30px #00000016;border:6px solid white;overflow:hidden}.stack-back{background:#ecd6a0;transform:rotate(12deg);display:grid;place-content:center;text-align:center;gap:18px}.stack-back>span{font-size:60px}.stack-middle{background:#dfddd7;transform:rotate(-10deg);display:grid;place-content:center;text-align:center;gap:18px}.stack-middle>span{font-size:60px}.stack-front{background:white;transform:rotate(3deg);animation:stack-settle .65s ease-out}.stack-front>img,.profile-stack-initial{width:100%;height:calc(100% - 66px);object-fit:cover}.profile-stack-initial{display:grid;place-items:center;background:#242424;color:#dfbd65;font-size:80px}.stack-front>div:last-child{display:grid;gap:5px;padding:13px 15px;background:white}.stack-front strong{font-size:17px;color:#191919}.stack-front div>span{font-size:10px;color:#656565}
.profile-panel:has([data-journey-bound]){padding:28px}.form[data-journey-bound]{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:start;scroll-margin-top:100px}.profile-editor-nav{display:grid;gap:8px;grid-column:1;grid-row:1/4}.profile-editor-nav button{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;text-align:left;padding:14px 12px;background:#f6f6f6;color:#414141;border:1px solid #e1e1e1;border-radius:14px;cursor:pointer}.profile-editor-nav button>span{font-size:21px}.profile-editor-nav strong{font-size:12px}.profile-editor-nav small{font-size:10px}.profile-editor-nav .active{background:#191919;color:white;border-color:#191919;box-shadow:inset 3px 0 0 #dfbd65}.profile-editor-body,.profile-editor-controls,.form[data-journey-bound]>.actions{grid-column:2;min-width:0}.profile-editor-step{display:grid;gap:17px;animation:journey-reveal .25s ease-out}.profile-editor-step[hidden]{display:none!important}.profile-editor-step>h3{font-size:26px!important;margin:0!important;letter-spacing:-.035em}.profile-editor-step>p{color:#656565;font-size:13px;line-height:1.6;margin:0 0 8px}.profile-editor-step>label{display:grid;gap:8px;font-size:13px;font-weight:650}.profile-editor-step .profile-details,.profile-editor-step .editor-section{margin:0;padding:18px;min-width:0;border-radius:18px;background:#fafafa}.profile-editor-step .two{gap:15px}.profile-editor-step textarea,.profile-editor-step input,.profile-editor-step select{max-width:100%;min-width:0}.profile-editor-controls{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #e1e1e1;padding-top:20px}.profile-editor-controls>span{font-size:10px;color:#656565}.profile-editor-controls button{font-size:11px;padding:10px 12px}.form[data-journey-bound]>.actions{margin-top:0}.form[data-journey-bound]>.actions button{min-height:48px}.profile-editor-step label small{font-weight:400}.form[data-journey-bound] button:focus-visible{outline:3px solid #806323;outline-offset:3px}
/* Patterned banners replace flat gradient-only rewards; reward IDs stay compatible. */
.banner-aurora .reward-art,.banner-aurora .story-heading,.banner-aurora.banner-reward-demo,.banner-aurora.profile-story-hero{background:radial-gradient(circle at 20% 20%,#f0d593 0 3px,transparent 4px),radial-gradient(circle at 80% 60%,#c8c4f7 0 2px,transparent 3px),radial-gradient(circle at 60% 90%,#fff 0 2px,transparent 3px),#24243a!important;background-size:75px 80px!important;color:#fff!important}
.banner-sunrise .reward-art,.banner-sunrise .story-heading,.banner-sunrise.banner-reward-demo,.banner-sunrise.profile-story-hero{background:radial-gradient(circle at 12% 20%,#e795bb 0 15px,transparent 16px),radial-gradient(circle at 77% 75%,#b7b4ef 0 19px,transparent 20px),repeating-linear-gradient(45deg,#fff5 0 2px,transparent 2px 17px),#f5d9b1!important;background-size:140px 130px,130px 140px,auto!important;color:#191919!important}
.banner-garden .reward-art,.banner-garden .story-heading,.banner-garden.banner-reward-demo,.banner-garden.profile-story-hero{background:radial-gradient(ellipse at 25% 25%,#efb7a0 0 12px,transparent 13px),radial-gradient(ellipse at 45% 25%,#efb7a0 0 12px,transparent 13px),radial-gradient(ellipse at 35% 12%,#efb7a0 0 12px,transparent 13px),radial-gradient(ellipse at 35% 36%,#efb7a0 0 12px,transparent 13px),radial-gradient(circle at 35% 25%,#8d7648 0 6px,transparent 7px),#f4edda!important;background-size:150px 125px!important;color:#191919!important}
#app .banner-aurora .story-heading h3,#app .banner-aurora .story-heading .eyebrow,#app .banner-aurora.profile-story-hero h3,#app .banner-aurora.profile-story-hero p,#app .banner-aurora.profile-story-hero .eyebrow,#app .banner-aurora.profile-story-hero .profile-completion span{color:#fff!important}.banner-aurora .story-heading .story-more{background:#fff;color:#191919}
.frame-solstice .preview-person,.frame-solstice .story-photo,.frame-solstice .stack-front,.preview-person.frame-solstice{border:7px dashed #d9af47!important;outline:3px solid #f1d78d;outline-offset:3px;border-radius:25px!important}.frame-neon .preview-person,.frame-neon .story-photo,.frame-neon .stack-front,.preview-person.frame-neon{border:8px dotted #e6bb59!important;outline:3px solid #d5dcc6;outline-offset:3px;border-radius:26px!important}.frame-chrome .preview-person,.frame-chrome .story-photo,.frame-chrome .stack-front,.preview-person.frame-chrome{border:8px dotted white!important;outline:3px solid #303030;outline-offset:1px;border-radius:12px!important;box-shadow:0 0 0 7px #e7e4da!important}.frame-prism .preview-person,.frame-prism .story-photo,.frame-prism .stack-front,.preview-person.frame-prism{border:8px dashed #dd96b9!important;outline:4px dotted #d0b75e;outline-offset:3px;border-radius:26px!important}.frame-spectrum .preview-person,.frame-spectrum .story-photo,.frame-spectrum .stack-front,.preview-person.frame-spectrum{border:6px dotted #b7acd9!important;outline:3px solid #e8d196;outline-offset:4px;border-radius:26px!important;box-shadow:0 0 0 10px #eee9f7!important}
.spark-reward[class*="frame-"] .reward-art{background:#f9f6eb!important;border:5px dashed #d9af47;border-radius:25px!important}.spark-reward.frame-neon .reward-art{border:7px dotted #e6bb59;background:#eef0e7!important}.spark-reward.frame-chrome .reward-art{border:7px dotted white;background:#303030!important;color:white!important;outline:2px solid #303030}.spark-reward.frame-prism .reward-art{border:6px dashed #dd96b9;background:#fff0f7!important}.spark-reward.frame-spectrum .reward-art{border:6px dotted #b7acd9;background:#eee9f7!important}.spark-reward .reward-art{font-size:38px!important}.spark-reward[class*="status-"] .reward-art{background:#fff8e7!important}.react-picker button{font-size:25px;min-width:44px;min-height:44px;border-radius:13px}.react-picker button:hover{background:#f3e4b9;transform:translateY(-2px)}.react-picker{display:flex;flex-wrap:wrap;gap:7px}.message-reactions span{font-size:19px}
@keyframes hello-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes journey-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes match-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}@keyframes welcome-confetti{0%{opacity:0;transform:translateY(0) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translateY(440px) rotate(220deg)}}@keyframes stack-settle{from{opacity:0;transform:translateY(12px) rotate(10deg)}to{opacity:1;transform:translateY(0) rotate(3deg)}}
@media(max-width:1000px){.journey-hero{padding:28px;grid-template-columns:1fr}.journey-hero-art{min-height:220px;max-width:340px;width:100%;justify-self:center}.note-coffee{top:0}.note-heart{top:92px}.form[data-journey-bound]{grid-template-columns:1fr}.profile-editor-nav{grid-column:1;grid-row:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.profile-editor-body,.profile-editor-controls,.form[data-journey-bound]>.actions{grid-column:1}.profile-editor-nav button{grid-template-columns:24px 1fr;padding:12px 10px}.profile-editor-nav small{display:none}}
@media(max-width:650px){.journey-hero{padding:24px}.journey-hero-art{display:none}.journey-hero h3{font-size:31px!important}.likes-hero{padding:25px}.likes-hero .page-heading{max-width:100%;padding-right:35px}.likes-heart-art{font-size:42px;top:20px;right:15px;opacity:.4}.likes-heart-art span{display:none}.match-demo-teaser{grid-template-columns:1fr;padding:23px}.demo-teaser-art{grid-row:2;justify-content:center}.profile-story-hero{grid-template-columns:1fr;padding:25px}.profile-photo-stack{grid-row:1;min-height:265px;max-width:245px}.profile-story-copy{text-align:center}.profile-completion{margin:auto}.profile-panel:has([data-journey-bound]){padding:18px}.profile-editor-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-editor-step .two{grid-template-columns:1fr}.profile-editor-step h3{font-size:23px!important}.profile-editor-controls{justify-content:center}.profile-editor-controls>span{order:3;width:100%;text-align:center}dialog:has(.match-demo),dialog:has(.account-welcome){padding:23px}.demo-people{gap:13px}.demo-avatar{width:77px;height:77px;font-size:29px}.demo-centre{font-size:34px}.match-demo h2{font-size:30px}.journey-match h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.journey-hero *,.match-demo *,.account-welcome *,.journey-match *,.profile-story-hero *,.profile-editor-step{animation:none!important;transition:none!important}.welcome-particles{display:none}.profile-stack-card{transform:none!important}.react-picker button:hover{transform:none}}

#sample-welcome{color:#5b4821!important;font-weight:650;text-decoration:underline;margin-left:8px}
#app .sidebar .nav-item.active>span{color:#191919!important;background:#f7f7f7!important}
.reaction-collection-preview{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:24px;background:#fff9ea;border-radius:22px;margin:20px 0}.reaction-collection-preview span{font-size:32px;padding:8px;background:#fff;border:1px solid #eadfca;border-radius:14px}.mood-collection-preview{display:grid;place-items:center;padding:30px;background:#fff9ea;border-radius:24px;margin:20px 0}.mood-collection-preview>span{font-size:65px}.mood-collection-preview>strong{padding:9px 16px;border-radius:30px;background:#fff;border:1px solid #e3d9c2;margin-top:15px}

/* Distinct frame motifs stay outside the member's face. */
.frame-solstice .preview-person::after,.frame-solstice .story-photo::after,.frame-solstice .stack-front::after,.preview-person.frame-solstice::after,
.frame-neon .preview-person::after,.frame-neon .story-photo::after,.frame-neon .stack-front::after,.preview-person.frame-neon::after,
.frame-prism .preview-person::after,.frame-prism .story-photo::after,.frame-prism .stack-front::after,.preview-person.frame-prism::after,
.frame-spectrum .preview-person::after,.frame-spectrum .story-photo::after,.frame-spectrum .stack-front::after,.preview-person.frame-spectrum::after{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:48px;height:48px;background:#ffffffdd;border-radius:50%;font-size:32px;z-index:3;pointer-events:none;box-shadow:0 4px 12px #0001}
.frame-solstice .preview-person::after,.frame-solstice .story-photo::after,.frame-solstice .stack-front::after,.preview-person.frame-solstice::after{content:'🌞'}
.frame-neon .preview-person::after,.frame-neon .story-photo::after,.frame-neon .stack-front::after,.preview-person.frame-neon::after{content:'🌼'}
.frame-prism .preview-person::after,.frame-prism .story-photo::after,.frame-prism .stack-front::after,.preview-person.frame-prism::after{content:'🎊'}
.frame-spectrum .preview-person::after,.frame-spectrum .story-photo::after,.frame-spectrum .stack-front::after,.preview-person.frame-spectrum::after{content:'🌟'}
