/* Scoped to chat and ShyFriends additions; preserve native controls and modes. */
:root{--sf-surface:#faf7f1;--sf-panel:#fffdf9;--sf-ink:#243e38;--sf-muted:#52675e;--sf-line:#d6dfd5;--sf-soft:#e6ede3;--sf-accent:#285648;--sf-on-accent:#fffdf9}
.dark{--sf-surface:#142820;--sf-panel:#1d342b;--sf-ink:#edf3e9;--sf-muted:#b9cabc;--sf-line:#496154;--sf-soft:#2b493b;--sf-accent:#b7d3ad;--sf-on-accent:#142820}
.sf-navigation{background:var(--sf-surface);color:var(--sf-ink);gap:12px;padding:10px 24px}
.sf-navigation a{color:var(--sf-ink)}.sf-navigation img{display:block;max-width:100%;height:auto}
.sf-policy-links{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;font:13px/1.5 Arial,sans-serif}
.sf-policy-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
body>footer .sf-policy-links{margin-top:12px}.sf-navigation .sf-policy-links{gap:12px}
.sf-chat{background:var(--sf-panel)!important;color:var(--sf-ink)!important;border:1px solid var(--sf-line);border-radius:16px;overflow:hidden}
.sf-chat-desktop{position:relative;display:flex!important;flex-wrap:wrap;height:var(--sf-chat-height,70dvh)!important;min-height:0!important;overflow:hidden;padding-bottom:34px;box-sizing:border-box}
.sf-chat-mobile{top:var(--sf-chat-top,0px)!important;bottom:auto!important;height:var(--sf-chat-height,100dvh)!important;min-height:0!important;background:var(--sf-panel)!important;color:var(--sf-ink)!important;padding-bottom:calc(34px + env(safe-area-inset-bottom,0px));padding-top:env(safe-area-inset-top,0px);box-sizing:border-box}
.sf-chat-column{min-width:0;min-height:0;height:100%;overflow:hidden}
.sf-chat-detail{height:auto!important;flex:1 1 0%!important;min-height:0!important;min-width:0;overflow:visible}
.sf-chat-scroll-area{flex:1 1 0%!important;min-height:0!important;overflow:hidden}
.sf-chat .messages-list{overscroll-behavior:contain;overflow-y:auto!important;min-height:0;background:var(--sf-surface);padding-bottom:16px;scrollbar-gutter:stable}
.sf-chat .chat-header-wrap{background:var(--sf-panel);color:var(--sf-ink);border-bottom:1px solid var(--sf-line)}
.sf-chat-detail~*,.sf-chat-column>.chat-header-wrap{flex-shrink:0}
.sf-chat-composer{flex:0 0 auto!important;background:var(--sf-panel);border-top:1px solid var(--sf-line);padding:12px!important;min-width:0}
.sf-chat .chat-form{min-width:0;flex:1 1 0%;width:auto;background:var(--sf-panel)!important;border-color:var(--sf-line)!important;border-radius:12px}
.sf-chat .chat-form textarea{background:var(--sf-panel)!important;color:var(--sf-ink)!important;max-height:min(96px,20dvh);min-width:0;font-size:16px;line-height:1.5;border-radius:12px;padding-right:36px}
.sf-chat textarea::placeholder{color:var(--sf-muted)!important;opacity:1}
.sf-chat .send-message-btn{background:var(--sf-accent)!important;color:var(--sf-on-accent)!important;flex-shrink:0;min-width:40px;min-height:40px;border-radius:12px;border-color:var(--sf-accent)!important}
.sf-chat .message-item{background:var(--sf-soft)!important;border-color:var(--sf-line)!important;color:var(--sf-ink)!important}
.sf-chat .owner-message-item{background:var(--sf-accent)!important;border-color:var(--sf-accent)!important;color:var(--sf-on-accent)!important}
.sf-chat .chat-rooms-list{background:var(--sf-panel)!important;border-color:var(--sf-line)!important;min-height:0;overflow-y:auto}
.sf-chat :is(.text-sub-color,.chat-date-time){color:var(--sf-muted)!important}
.sf-chat :is(.text-main-color,.page-title){color:var(--sf-ink)!important}
.sf-chat .chat-header-wrap button{color:var(--sf-muted)}
.sf-chat-legal{position:absolute;inset-inline:0;bottom:0;min-height:34px;box-sizing:border-box;padding:6px 12px;background:var(--sf-panel);color:var(--sf-muted);border-top:1px solid var(--sf-line)}
.sf-chat-mobile .sf-chat-legal{padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}
.sf-interest-feedback{position:fixed;z-index:2147483000;top:calc(12px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);box-sizing:border-box;width:min(580px,calc(100% - 24px));border:1px solid var(--sf-line);border-radius:16px;padding:18px;background:var(--sf-panel);color:var(--sf-ink);box-shadow:0 10px 35px #0003;font:16px/1.5 Arial,sans-serif}
.sf-interest-feedback strong{font-size:22px}.sf-interest-feedback p{margin:6px 0 14px;color:var(--sf-muted)}
.sf-interest-feedback>a,.sf-match-open{display:inline-block;background:var(--sf-accent)!important;color:var(--sf-on-accent)!important;border:0!important;border-radius:10px;padding:10px 16px;text-decoration:none;font-weight:700}
.sf-interest-feedback>button{margin-left:12px;padding:10px;border:0;background:transparent;color:var(--sf-ink);text-decoration:underline;cursor:pointer}
.sf-native-match{color:var(--sf-ink);background:var(--sf-panel);border-radius:16px;padding:22px}.sf-native-match .sf-match-eyebrow{font-size:14px;color:var(--sf-muted)}
.sf-native-match>div:last-of-type{color:var(--sf-muted)!important}.p-dialog:has(.sf-native-match){background:var(--sf-panel)!important;border-color:var(--sf-line)!important}
:is(.sf-chat,.sf-navigation,.sf-interest-feedback,.sf-policy-links) :is(button,a,textarea):focus-visible{outline:3px solid var(--sf-accent);outline-offset:3px}
@media(max-width:600px){.sf-navigation{padding:10px 14px}.sf-navigation img{width:170px}.sf-navigation>nav{gap:12px}.sf-chat-composer{padding:8px!important}}
@media(prefers-reduced-motion:reduce){.sf-chat *, .sf-native-match *{transition:none!important;animation:none!important}}
.sf-chat-column>:first-child:not(.sf-chat-detail),.sf-chat-mobile>:not(.sf-chat-detail):not(.sf-chat-legal){flex-shrink:0}
.sf-chat .room_items_active,.sf-chat .room_items:hover{background:var(--sf-soft)!important}
.sf-chat .room_items_title_text{color:var(--sf-ink)!important}.sf-chat .room_items_date_text{color:var(--sf-muted)!important}
.sf-chat .room_items_dot{background:var(--sf-accent)!important}
