.connection-hub{color:#43513e;line-height:1.65;min-width:0}.connection-hub h2{font-size:clamp(21px,4vw,28px);line-height:1.4;margin:12px 0}.connection-hub h3{font-size:17px;margin:14px 0 8px}.connection-nav{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #dedfd2;padding:14px 0 18px;margin-bottom:22px}.connection-nav [aria-pressed=true]{background:#e2e9d7;border-color:#a4b596}.connection-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.connection-person,.connection-record{padding:20px;border:1px solid #dcded1;border-radius:18px;background:#fcfbf6;text-align:left}.connection-person{cursor:pointer;display:grid;gap:8px;color:inherit;font:inherit}.connection-person span{font-weight:700}.connection-person small{color:#74826a}.connection-empty{padding:32px 18px;text-align:center;background:#f3f3e8;border-radius:18px}.connection-invite{background:#eef0da;border:1px solid #c7d1ae;border-radius:18px;padding:20px;margin-bottom:22px}.connection-person-heading{padding:12px 0}.connection-person-heading .outfit-tag{margin-left:12px}.connection-choices{border:0;padding:0;margin:22px 0;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.connection-choices legend{font-weight:700;margin-bottom:12px}.connection-option{display:flex;gap:10px;align-items:center;min-height:64px;border:1px solid #d8decc;border-radius:14px;background:#fffef8;padding:14px;color:inherit;font:inherit;cursor:pointer;text-align:left;overflow-wrap:anywhere}.connection-option:has(input:checked),.connection-option.chosen{background:#e8eddc;border-color:#839c70;box-shadow:inset 0 0 0 1px #839c70}.connection-option input{width:18px;height:18px;flex-shrink:0;accent-color:#617c4e}.connection-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.connection-comparison>div{display:grid;gap:6px;padding:18px;border-radius:16px;background:#f0f0e6}.connection-comparison>div+div{background:#f3e9ed}.connection-comparison strong{font-size:17px}.connection-shared{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.connection-shared button{display:grid}.connection-interest{padding:18px 0}.connection-interest small{display:block;margin-top:10px;color:#77806d}.connection-success{background:#e5efdb;border-radius:12px;padding:15px}.connection-record{margin:14px 0}.connection-record details,.connection-results details,.connection-hub>details{border-top:1px solid #dedfd2;padding:14px 0}.connection-hub summary{cursor:pointer}.connection-safety,.connection-exit{margin-top:24px;color:#737b6b;font-size:13px}.connection-safety form{display:grid;gap:12px;max-width:360px;margin-top:16px}.connection-hub select{padding:10px;border:1px solid #d8decc;border-radius:10px;background:#fffef8;margin-left:8px;max-width:100%}.connection-timer{font-size:12px;color:#858c7b;margin-top:24px}.connection-timer.urgent{color:#a9573d;font-weight:bold}.connection-wait{padding:20px;background:#f1f1e6;border-radius:14px}.connection-status{color:#98503e;min-height:1.5em}.connection-hub button:disabled{opacity:.55;cursor:default}.connection-hub button:focus-visible,.connection-hub input:focus-visible{outline:3px solid #9b7caf;outline-offset:3px}.connection-tags{color:#77715c}.connection-hub .activity-card{text-align:left}.connection-hub .result-panel{text-align:left}.connection-hub .result-actions{display:flex;gap:10px;flex-wrap:wrap}.connection-hub .hang-primary{min-height:44px}.connection-hub .hang-secondary{min-height:40px}.connection-welcome{padding:20px 0}.connection-welcome p{line-height:1.8}.connection-welcome form{display:grid;gap:12px}.connection-welcome input{max-width:100%}.connection-welcome label{display:grid;gap:8px}.connection-welcome .room-join{align-items:stretch}.connection-welcome .room-join>form{flex:1}button.social-entry.has-invite{background:#e1d5ee;color:#50395d}
@media(max-width:520px){.connection-choices,.connection-shared{grid-template-columns:1fr}.connection-comparison{gap:8px}.connection-comparison>div{padding:12px}.connection-comparison strong{font-size:15px}.connection-nav .hang-secondary{font-size:12px;padding:8px 10px}.connection-record{padding:15px}.connection-hub .activity-grid{grid-template-columns:1fr}.connection-welcome .room-join{display:grid;grid-template-columns:1fr}.room-members{max-width:100%;overflow:auto}.room-bar{flex-wrap:wrap}}
.connection-chat{border-top:1px solid #dedfd2;margin-top:24px;padding-top:16px}.connection-chat form{display:flex;gap:8px;margin-top:12px}.connection-chat input{min-width:0;flex:1;border:1px solid #d8decc;background:#fffef8;border-radius:12px;padding:12px;font:inherit}.connection-chat .chat-messages{max-height:150px;overflow:auto}.connection-chat button{flex-shrink:0}
.affinity-settings,.affinity-pair{line-height:1.7;color:#43513e}.affinity-settings h2{font-size:23px;margin:12px 0}.affinity-own{display:flex;align-items:center;gap:20px;margin:20px 0;padding:20px;border:1px solid #d6dfc9;background:#f0f3e8;border-radius:18px}.affinity-own p{margin:5px 0}.affinity-symbol{font-size:36px;font-family:serif;line-height:1.5}.affinity-birth{border-top:1px solid #dedfd2;padding:18px 0}.affinity-birth summary,.affinity-delete summary{cursor:pointer;margin-bottom:16px}.affinity-disclosure{display:grid;gap:14px;padding:20px;background:#f4f0e7;border-radius:18px}.affinity-disclosure h3{margin:0}.affinity-disclosure label{display:flex;gap:10px;align-items:center}.affinity-disclosure input{width:18px;height:18px;accent-color:#617c4e}.affinity-disclosure button{justify-self:start}.affinity-settings small{color:#75806e}.affinity-delete{margin-top:22px}.affinity-status{min-height:1.5em;color:#876143}.affinity-pair{border:1px solid #d7dece;background:#f7f8ef;border-radius:18px;padding:22px;margin:12px 0 26px}.affinity-pair-elements{display:flex;gap:16px;margin-top:18px}.affinity-pair-elements>div{display:grid;justify-items:center;gap:4px;flex:1;background:#fffef8;border-radius:14px;padding:14px}.affinity-pair button{margin-top:16px}.affinity-mbti{border-top:1px solid #d7dece;padding-top:18px;margin-top:18px}.creation-badge{position:fixed;right:24px;top:94px;z-index:15;border:1px solid #d2d8c5;border-radius:24px;background:#fffdf0;color:#536348;padding:10px 16px;font:inherit;font-size:12px;font-weight:600;box-shadow:0 4px 15px #35472415;cursor:pointer}.creation-badge[hidden]{display:none}.creation-badge:focus-visible{outline:3px solid #9b7caf;outline-offset:3px}@media(max-width:520px){.affinity-pair{padding:16px}.affinity-disclosure{padding:16px}.affinity-own{padding:16px;gap:14px}.creation-badge{top:82px;right:12px;max-width:165px;font-size:11px}.creation-modes{flex-wrap:wrap}.affinity-settings .profile-grid{grid-template-columns:minmax(0,1fr)}}

/* Account settings inherit the village controls, with long keys wrapping on phones. */
.account-settings{color:#43513e;line-height:1.65;min-width:0}.account-settings details{padding:16px 0;border-bottom:1px solid #dedfd2}.account-settings summary{font-weight:700;cursor:pointer;padding:6px 0}.account-settings form,.account-key{display:grid;gap:12px;margin-top:14px}.account-settings label{display:grid;gap:7px;font-weight:600}.account-settings input,.account-settings textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #b9c6ac;border-radius:10px;font:inherit;background:#fffef8;color:#43513e}.account-settings textarea{font-family:monospace;overflow-wrap:anywhere;resize:vertical}.account-key[hidden]{display:none}.account-settings button{min-height:44px;justify-self:start;max-width:100%}.account-settings small{color:#59694f}.account-settings .account-danger{color:#94413e;border-color:#c3948c}.account-status{min-height:1.6em}.account-settings :focus-visible{outline:2px solid #6d865c;outline-offset:3px}
/* Initial connection games use the existing village palette and controls. */
.connection-more{margin:24px 0;border-top:1px solid #dedfd2;padding-top:16px}.connection-more .activity-grid{margin-top:16px}.connection-option span{display:grid;gap:6px}.connection-option small{font-size:13px;line-height:1.5;color:#6e7a63}.connection-talk{padding:14px 16px;border-left:3px solid #9aac86;background:#f5f4e9}.connection-score{padding:24px;margin:20px 0;background:#eef1e2;border:1px solid #ced8bd;border-radius:18px}.connection-score>strong{display:block;font-size:clamp(28px,7vw,48px);line-height:1.4;color:#4c6540}.connection-score>strong small{font-size:20px;margin-left:4px}.connection-score>small{display:block;margin-top:14px;color:#69775d}.connection-topic-scores{display:flex;flex-wrap:wrap;gap:8px}.connection-topic-scores>span{padding:7px 11px;border-radius:10px;background:#fffef7;font-size:13px}.connection-topic-scores b{margin-left:7px}.connection-next{display:grid;gap:8px;margin:22px 0}.connection-next button{justify-self:start}.connection-score p{overflow-wrap:anywhere}@media(max-width:520px){.connection-score{padding:17px}.connection-score .connection-comparison{grid-template-columns:1fr}}
