/* Shared fixed navigation for every public route outside the main lobby. */
:root { --fb-sidebar-width: 15rem; --fb-sidebar-rail: 4.75rem; }
body.fb-has-sidebar { padding-left: var(--fb-sidebar-width); transition: padding-left .2s ease; }
body.fb-has-sidebar.fb-sidebar-collapsed { padding-left: var(--fb-sidebar-rail); }
#fbSiteSidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 100; display: flex; flex-direction: column;
  width: var(--fb-sidebar-width); height: 100vh; height: 100dvh; padding: 18px 14px;
  color: #f1fff5; background: #06140d; border-right: 1px solid rgba(83,224,138,.18);
  box-shadow: 12px 0 34px rgba(0,0,0,.2); overflow-x: hidden; overflow-y: auto;
  transition: width .2s ease, transform .24s ease, background-color .2s ease;
}
html[data-theme="light"] #fbSiteSidebar { color: #102a43; background: #fffcf0; border-color: rgba(11,61,98,.16); box-shadow: 12px 0 34px rgba(11,61,98,.10); }
.fb-sidebar-brand { display: flex; align-items: center; gap: 10px; min-height: 45px; margin: 0 4px 8px; color: inherit; text-decoration: none; white-space: nowrap; }
.fb-sidebar-brand img { width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; }
.fb-brand-stars { color:#E3B72F; font-size:9px; letter-spacing:-2px; white-space:nowrap; text-shadow:0 0 8px rgba(227,183,47,.28); }
html[data-theme="light"] .fb-brand-stars { color:#9A6A00; text-shadow:none; }
.fb-sidebar-brand strong { font-size: 16px; letter-spacing: -.035em; }
.fb-sidebar-brand strong span { color: #53e08a; }
html[data-theme="light"] .fb-sidebar-brand strong span { color: #0b3d62; }
#fbSidebarCollapseBtn, #fbSidebarCloseBtn, #fbSidebarMobileBtn {
  display: inline-flex; align-items: center; justify-content: center; color: inherit; cursor: pointer;
  border: 1px solid transparent; background: transparent; transition: background .16s,border-color .16s,color .16s;
}
#fbSidebarCollapseBtn { position: static; width: 32px; height: 32px; margin: 0 0 12px auto; border-radius: 9px; }
#fbSidebarCollapseBtn:hover, #fbSidebarCloseBtn:hover, #fbSidebarMobileBtn:hover { background: rgba(128,150,136,.14); border-color: rgba(128,150,136,.18); }
#fbSidebarCollapseBtn svg { transition: transform .2s; }
#fbSidebarCloseBtn, #fbSidebarMobileBtn { display: none; }
.fb-sidebar-nav { display: grid; gap: 8px; padding-top: 14px; border-top: 1px solid rgba(83,224,138,.18); }
.fb-sidebar-link { position: relative; display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 11px 0 9px; border: 1px solid rgba(83,224,138,.10); border-radius: 14px; color: #b6d3bf; text-decoration: none; font-size: 13px; font-weight: 750; white-space: nowrap; background: linear-gradient(135deg,rgba(18,54,34,.86),rgba(7,26,18,.72)); transition: background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease; }
.fb-sidebar-link::after { content:""; position:absolute; left:-1px; top:12px; bottom:12px; width:3px; border-radius:0 4px 4px 0; background:transparent; transition:background .2s,box-shadow .2s; }
html[data-theme="light"] .fb-sidebar-link { color: #526258; }
.fb-sidebar-link:hover { color: #f5fff8; background: linear-gradient(135deg,rgba(50,212,122,.26),rgba(14,74,43,.88)); border-color: rgba(83,224,138,.46); transform: translateX(3px); box-shadow: 0 8px 20px rgba(0,0,0,.22),0 0 18px rgba(50,212,122,.08); }
.fb-sidebar-link:hover::after,.fb-sidebar-link[aria-current="page"]::after { background:#53e08a; box-shadow:0 0 12px rgba(83,224,138,.7); }
html[data-theme="light"] .fb-sidebar-link { color:#3f5870; background:linear-gradient(135deg,#fffdf4,#fff2b8); border-color:rgba(11,61,98,.12); }
html[data-theme="light"] .fb-sidebar-link:hover { color:#102a43; background:linear-gradient(135deg,#fff2b8,#fffdf4); border-color:rgba(11,61,98,.34); box-shadow:0 8px 20px rgba(11,61,98,.12); }
.fb-sidebar-link svg { width: 36px; height: 36px; flex: 0 0 36px; box-sizing: border-box; padding: 8px; opacity: .96; color: #b6f2c9; border: 1px solid rgba(83,224,138,.28); border-radius: 12px; background: linear-gradient(145deg,rgba(50,212,122,.24),rgba(14,74,43,.56)); box-shadow: inset 0 1px rgba(255,255,255,.10),0 5px 14px rgba(0,0,0,.18); transition: color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease; }
html[data-theme="light"] .fb-sidebar-link svg { color:#0b3d62; border-color:rgba(11,61,98,.20); background:linear-gradient(145deg,#e8c968,#fff7d6); box-shadow:0 4px 12px rgba(11,61,98,.10); }
.fb-sidebar-link:hover svg { color: #ffffff; border-color: rgba(255,255,255,.48); background: linear-gradient(145deg,rgba(83,224,138,.48),rgba(14,74,43,.8)); transform: scale(1.07) rotate(-2deg); }
html[data-theme="light"] .fb-sidebar-link:hover svg { color:#102a43; border-color:rgba(11,61,98,.38); background:linear-gradient(145deg,#d7a52a,#f4e3a2); }
.fb-sidebar-link[aria-current="page"] { color: #f4fff7; background: linear-gradient(100deg,rgba(50,212,122,.30),rgba(18,54,34,.86)); border-color: rgba(83,224,138,.55); box-shadow: 0 8px 22px rgba(0,0,0,.20),inset 0 0 0 1px rgba(83,224,138,.08); }
.fb-sidebar-link[aria-current="page"] svg { color: #062014; opacity: 1; border-color: #53e08a; background: #53e08a; box-shadow: 0 0 0 4px rgba(83,224,138,.10),0 5px 18px rgba(83,224,138,.22); }
html[data-theme="light"] .fb-sidebar-link[aria-current="page"] { color: #102a43; background: linear-gradient(100deg,#e8c968,#fffdf4); border-color: rgba(11,61,98,.30); box-shadow:0 8px 20px rgba(11,61,98,.10); }
html[data-theme="light"] .fb-sidebar-link[aria-current="page"] svg { color:#102a43; background:#C28A00; border-color:#9A6A00; }
.fb-sidebar-social { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(128,150,136,.14); }
.fb-sidebar-social-link { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; padding: 0 8px; border: 1px solid rgba(128,150,136,.14); border-radius: 11px; color: #91a79a; text-decoration: none; font-size: 11px; font-weight: 700; transition: color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease; }
.fb-sidebar-social-link svg { width: 19px; height: 19px; flex: 0 0 19px; }
.fb-sidebar-social-link:hover { color: #ffffff; background: rgba(24,232,121,.10); border-color: rgba(24,232,121,.34); transform: translateY(-1px); }
.fb-sidebar-instagram:hover { color: #f6b6ff; border-color: rgba(246,182,255,.38); background: rgba(214,85,255,.10); }
.fb-sidebar-facebook:hover { color: #8eb7ff; border-color: rgba(142,183,255,.38); background: rgba(54,116,255,.10); }
html[data-theme="light"] .fb-sidebar-social-link { color: #526258; border-color: rgba(20,48,30,.13); }
html[data-theme="light"] .fb-sidebar-social-link:hover { color: #17251c; background: #f0f6f2; }
.fb-sidebar-bottom { margin-top: auto; padding-top: 16px; }
.fb-sidebar-theme { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid rgba(128,150,136,.16); border-radius: 10px; color: inherit; background: transparent; text-align: left; font: inherit; font-size: 12px; cursor: pointer; }
.fb-sidebar-theme svg { width: 18px; height: 18px; }
.fb-sidebar-theme:hover { background: rgba(128,150,136,.12); }
.fb-sidebar-credit { margin: 12px 5px 0; color: #809086; font-size: 10px; line-height: 1.4; }
.fb-sidebar-overlay { display: none; }
body.fb-sidebar-collapsed #fbSiteSidebar { width: var(--fb-sidebar-rail); padding-inline: 10px; }
body.fb-sidebar-collapsed .fb-sidebar-brand { margin: 0 0 8px; justify-content: center; }
body.fb-sidebar-collapsed .fb-sidebar-brand img { width: 34px; height: 34px; }
body.fb-sidebar-collapsed .fb-sidebar-brand strong,
body.fb-sidebar-collapsed .fb-sidebar-brand .fb-brand-stars,
body.fb-sidebar-collapsed .fb-sidebar-link .fb-sidebar-label,
body.fb-sidebar-collapsed .fb-sidebar-social-link .fb-sidebar-label,
body.fb-sidebar-collapsed .fb-sidebar-theme .fb-sidebar-label,
body.fb-sidebar-collapsed .fb-sidebar-credit { display: none; }
body.fb-sidebar-collapsed .fb-sidebar-link,
body.fb-sidebar-collapsed .fb-sidebar-theme { justify-content: center; gap: 0; padding-inline: 0; }
body.fb-sidebar-collapsed .fb-sidebar-social { grid-template-columns: 1fr; gap: 6px; }
body.fb-sidebar-collapsed .fb-sidebar-social-link { width: 38px; min-height: 38px; padding: 0; margin-inline: auto; }
body.fb-sidebar-collapsed .fb-sidebar-link svg { width: 38px; height: 38px; flex-basis: 38px; padding: 9px; }
body.fb-sidebar-collapsed .fb-sidebar-theme svg { width: 20px; height: 20px; flex-basis: 20px; }
body.fb-sidebar-collapsed #fbSidebarCollapseBtn svg { transform: rotate(180deg); }
#fbSidebarMobileBtn:focus-visible, #fbSidebarCollapseBtn:focus-visible, #fbSidebarCloseBtn:focus-visible, .fb-sidebar-link:focus-visible, .fb-sidebar-theme:focus-visible { outline: 3px solid #18e879; outline-offset: 2px; }
@media (max-width: 767px) {
  body.fb-has-sidebar, body.fb-has-sidebar.fb-sidebar-collapsed { padding-left: 0; }
  #fbSiteSidebar, body.fb-sidebar-collapsed #fbSiteSidebar { width: min(17.5rem, 86vw); padding: 18px 14px; transform: translateX(-102%); }
  body.fb-sidebar-open #fbSiteSidebar { transform: translateX(0); }
  body.fb-has-sidebar.fb-sidebar-collapsed .fb-sidebar-brand { margin: 0 4px 8px; justify-content: flex-start; }
  body.fb-has-sidebar.fb-sidebar-collapsed .fb-sidebar-brand strong,
  body.fb-has-sidebar.fb-sidebar-collapsed .fb-sidebar-link .fb-sidebar-label,
  body.fb-has-sidebar.fb-sidebar-collapsed .fb-sidebar-social-link .fb-sidebar-label,
  body.fb-has-sidebar.fb-sidebar-collapsed .fb-sidebar-theme .fb-sidebar-label { display: inline; }
  body.fb-has-sidebar.fb-sidebar-collapsed .fb-sidebar-link,
  body.fb-has-sidebar.fb-sidebar-collapsed .fb-sidebar-theme { justify-content: flex-start; gap: 13px; padding-inline: 12px; }
  #fbSidebarCollapseBtn { display: none; }
  #fbSidebarCloseBtn { display: inline-flex; position: absolute; top: 19px; right: 12px; width: 32px; height: 32px; border-radius: 9px; }
  #fbSidebarMobileBtn { display: inline-flex; position: fixed; z-index: 90; left: 12px; top: 12px; width: 40px; height: 40px; border-radius: 11px; border-color: rgba(128,150,136,.2); background: rgba(8,13,10,.93); color: #edf5ef; box-shadow: 0 5px 18px rgba(0,0,0,.18); backdrop-filter: blur(12px); }
html[data-theme="light"] #fbSidebarMobileBtn { background: rgba(255,255,255,.96); color: #17251c; }
  .fb-sidebar-overlay { display: block; position: fixed; inset: 0; z-index: 99; background: rgba(0,0,0,.56); opacity: 0; visibility: hidden; transition: opacity .2s,visibility .2s; }
  body.fb-sidebar-open .fb-sidebar-overlay { opacity: 1; visibility: visible; }
  body.fb-has-sidebar > header > div:first-child { padding-left: 54px !important; }
}
.fb-site-footer {
  box-sizing: border-box; display: grid; grid-template-columns: minmax(180px,1fr) minmax(280px,1.1fr) auto;
  align-items: center; gap: 24px; width: min(1440px,calc(100% - 40px)); margin: 34px auto 22px; padding: 22px 28px;
  border: 1px solid rgba(255,255,255,.09); border-radius: 18px; background: rgba(13,18,15,.96);
  color: #aab8ae; box-shadow: 0 10px 30px rgba(0,0,0,.12); font-size: 12px; line-height: 1.5;
}
.fb-site-footer-brand { display:flex; align-items:center; gap:12px; color:#edf5ef; font-size:12px; letter-spacing:.16em; }
.fb-site-footer-mark { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border:1px solid rgba(24,232,121,.45); border-radius:12px; color:#18e879; font-size:15px; font-weight:800; letter-spacing:-.08em; }
.fb-site-footer-kicker { display:block; margin-bottom:4px; color:#8e9d93; font-size:9px; font-weight:800; letter-spacing:.16em; }
.fb-site-footer-admin p { margin:0 0 5px; }
.fb-site-footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:5px 14px; }
.fb-site-footer-social { color:#18e879 !important; }
.fb-social-icon { display:inline-flex !important; align-items:center; justify-content:center; width:34px; height:34px; border-radius:9px; color:#18e879 !important; background:rgba(24,232,121,.08); transition:background .16s,transform .16s; }
.fb-social-icon:hover { background:rgba(24,232,121,.18); transform:translateY(-1px); text-decoration:none !important; }
.fb-social-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fb-social-facebook svg { fill:currentColor; stroke:none; }
.fb-site-footer-admin strong,.fb-site-footer-age strong { color:#edf5ef; }
.fb-site-footer-admin a { display:inline-flex; align-items:center; gap:6px; color:#18e879; font-weight:800; text-decoration:none; }
.fb-site-footer-admin a:hover { text-decoration:underline; text-underline-offset:3px; }
.fb-site-footer-age { display:flex; align-items:center; gap:12px; padding-left:22px; border-left:1px solid rgba(255,255,255,.12); white-space:nowrap; }
.fb-site-footer-age p { margin:0; }
.fb-site-footer-18 { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border:1px solid rgba(24,232,121,.42); border-radius:50%; color:#18e879; font-size:12px; font-weight:900; }
html[data-theme="light"] .fb-site-footer { border-color:rgba(20,48,30,.13); background:rgba(255,255,255,.96); color:#526258; box-shadow:0 10px 30px rgba(22,54,34,.07); }
html[data-theme="light"] .fb-site-footer-brand, html[data-theme="light"] .fb-site-footer-admin strong, html[data-theme="light"] .fb-site-footer-age strong { color:#17251c; }
html[data-theme="light"] .fb-site-footer-kicker { color:#617267; }
html[data-theme="light"] .fb-site-footer-age { border-color:rgba(20,48,30,.13); }
@media (max-width: 780px) {
  .fb-site-footer { grid-template-columns:1fr; gap:15px; width:calc(100% - 28px); padding:18px; }
  .fb-site-footer-age { padding:13px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.12); white-space:normal; }
  html[data-theme="light"] .fb-site-footer-age { border-color:rgba(20,48,30,.13); }
}
@media (prefers-reduced-motion: reduce) { body.fb-has-sidebar, #fbSiteSidebar, .fb-sidebar-overlay, .fb-sidebar-link, .fb-sidebar-link svg { transition: none !important; } }
