/* Reference: jstyle_new quick-menu.css. Match the Your Girlfriends palette and existing fixed member header. */
:root{--site-dock-height:56px;--site-dock-edge:18px;--site-dock-clearance:96px}
html{scroll-padding-bottom:var(--site-dock-clearance)}
.site-quick-menu{position:fixed;left:50%;bottom:var(--site-dock-edge);width:min(520px,calc(100% - 40px));transform:translateX(-50%);z-index:18}
.site-quick-menu-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgb(255 255 255 / 20%);border-radius:18px;background:rgb(107 48 73 / 97%);box-shadow:0 10px 30px rgb(81 34 55 / 20%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-quick-menu a{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:54px;padding:10px 14px;font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.02em;color:#f8edf2;text-decoration:none;transition:background-color .15s ease,color .15s ease}
.site-quick-menu a+a{border-left:1px solid rgb(255 255 255 / 16%)}
.site-quick-menu a>svg{flex-shrink:0}
.site-quick-menu a>span{white-space:nowrap}
.site-quick-menu a[aria-current],.site-quick-menu a:hover{background:rgb(255 255 255 / 13%);color:#fff}
.site-quick-menu a:focus-visible{outline:2px solid #f5c7d8;outline-offset:-4px;background:rgb(255 255 255 / 13%);color:#fff}
.site-footer{padding-bottom:var(--site-dock-clearance)}
.site-back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(var(--site-dock-height) + var(--site-dock-edge) + 14px);z-index:17;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--border);border-radius:50%;background:rgb(255 253 250 / 97%);color:var(--brand);box-shadow:0 4px 16px rgb(52 25 39 / 9%);text-decoration:none;transition:background-color .15s ease,border-color .15s ease}
.site-back-to-top[hidden]{display:none}
.site-back-to-top:hover{background:var(--brand-soft);border-color:var(--brand)}
.site-back-to-top:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
/* Match the legacy right-side entry; share the header's unread summary request. */
.site-chat-floating{position:fixed;right:max(20px,env(safe-area-inset-right));top:min(50%,calc(100% - var(--site-dock-height) - var(--site-dock-edge) - 96px));transform:translateY(-50%);z-index:19;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:rgb(255 253 250 / 98%);color:var(--brand);box-shadow:0 4px 18px rgb(52 25 39 / 12%);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.site-chat-floating:hover{background:var(--brand-soft);border-color:var(--brand)}
.site-chat-floating.has-unread{background:var(--brand);border-color:var(--brand);color:#fff}
.site-chat-floating.has-unread:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}
.site-chat-floating:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.site-chat-floating-count{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 4px;border:2px solid var(--surface,#fff);border-radius:99px;background:#c53a59;color:#fff;font-size:11px;font-weight:700;line-height:1;white-space:nowrap}
.site-chat-floating-count[hidden]{display:none}
/* Reserve room for the dock inside viewport-sized chat panels, as well as at the page footer. */
.chat-shell{height:min(820px,calc(100dvh - 180px - var(--site-dock-clearance)))}
@media(max-width:800px){
 :root{--site-dock-height:calc(64px + env(safe-area-inset-bottom));--site-dock-edge:0px;--site-dock-clearance:calc(var(--site-dock-height) + 20px)}
 .site-quick-menu{left:0;bottom:0;width:100%;transform:none}
 .site-quick-menu-inner{border-inline:0;border-bottom:0;border-radius:16px 16px 0 0;padding:0 max(0px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(0px,env(safe-area-inset-left))}
 .site-quick-menu a{min-height:63px;flex-direction:column;gap:3px;padding:8px 7px;font-size:12px;line-height:1.2}
 .site-quick-menu a>svg{width:20px;height:20px}
 .site-back-to-top{right:max(16px,env(safe-area-inset-right));bottom:calc(var(--site-dock-height) + 12px);width:44px;height:44px}
 .site-chat-floating{right:max(16px,env(safe-area-inset-right));top:min(50%,calc(100% - var(--site-dock-height) - 90px));width:44px;height:44px}
 .site-chat-floating>svg{width:24px;height:24px}
 .member-mobile-navigation nav{max-height:calc(100vh - var(--member-header-height,73px) - 72px - var(--site-dock-height));max-height:calc(100svh - var(--member-header-height,73px) - 72px - var(--site-dock-height))}
 .site-keyboard-open .site-quick-menu{visibility:hidden;pointer-events:none}
 .site-keyboard-open .site-chat-floating{visibility:hidden;pointer-events:none}
 body:has(.chat-composer:focus-within) .site-chat-floating{visibility:hidden;pointer-events:none}
 .site-keyboard-open{--site-dock-clearance:0px}
}
/* Mobile chat: 73px header + 14px top inset; leave only 8px above the dock. */
@media(max-width:700px){
 .chat-shell{--chat-dock-space:var(--site-dock-height);height:calc(var(--chat-height,100dvh) - 73px - 14px - var(--chat-dock-space) - 8px);min-height:0;max-height:none}
 html:not(.site-keyboard-open) .chat-composer{padding-bottom:10px}
 .site-keyboard-open .chat-shell{--chat-dock-space:0px}
}
@media(prefers-reduced-motion:reduce){.site-quick-menu a,.site-back-to-top,.site-chat-floating{transition:none}}
