/* Compact text navigation. The full directory remains at /sitemap.php. */
:root { --nav-surface:#fff; --nav-ink:#243044; --nav-muted:#738096; --nav-line:#e9edf3; --nav-hover:#f2f6fb; --nav-accent:#2366bb; }
html[data-theme="dark"] { --nav-surface:#171c25; --nav-ink:#e6edf7; --nav-muted:#9ba9bd; --nav-line:#2b3443; --nav-hover:#232e3f; --nav-accent:#91bfff; }
.top-navbar .navbar-container { position:relative; max-width:1500px; }
.top-navbar .site-navigation { display:flex; align-items:center; justify-content:center; gap:2px; margin:0 10px; }
.site-nav-category { position:relative; color:var(--nav-ink); }
.site-nav-category > summary,.top-navbar .site-nav-all,.top-navbar .site-nav-direct { display:flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:7px 10px; border-radius:6px; font-size:13px; font-weight:500; line-height:1.4; white-space:nowrap; cursor:pointer; color:var(--nav-ink); list-style:none; }
.site-nav-category > summary::-webkit-details-marker,.site-mobile-category > summary::-webkit-details-marker,.site-nav-submenu > summary::-webkit-details-marker { display:none; }
.site-nav-category > summary:hover,.site-nav-category[open] > summary,.top-navbar .site-nav-all:hover,.top-navbar .site-nav-direct:hover { background:var(--nav-hover); }
.site-nav-category.is-current > summary { color:var(--nav-accent); }
.site-nav-chevron { display:inline-block; width:5px; height:5px; flex:0 0 5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin:-3px 1px 0 2px; opacity:.65; }
.site-nav-category[open] > summary .site-nav-chevron,.site-mobile-category[open] > summary .site-nav-chevron { transform:rotate(225deg); margin-top:2px; }
.site-nav-category > summary:focus-visible,.site-mobile-category > summary:focus-visible,.site-nav-submenu > summary:focus-visible,.site-nav-tool:focus-visible,.site-nav-all:focus-visible,.site-nav-direct:focus-visible { outline:2px solid var(--nav-accent); outline-offset:2px; }
.site-nav-panel,.site-nav-submenu-panel { background:var(--nav-surface); color:var(--nav-ink); }
.site-nav-category > .site-nav-panel { position:absolute; top:calc(100% + 7px); left:0; width:220px; padding:6px; border:1px solid var(--nav-line); border-radius:9px; box-shadow:0 8px 25px #0c1b321c; }
.site-nav-category > .site-nav-panel-wide { width:420px; }
.site-nav-category > .site-nav-panel-rank { width:200px; }
.site-nav-category > .site-nav-panel-more { width:180px; }
.site-nav-category > .site-nav-panel::before { content:""; position:absolute; top:-9px; left:0; right:0; height:9px; }
.site-nav-link-grid { display:grid; grid-template-columns:1fr; max-height: min(420px,calc(100dvh - 90px)); overflow:auto; overscroll-behavior:contain; }
.site-nav-panel-wide > .site-nav-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.site-nav-panel-wide .site-nav-column + .site-nav-column { border-left:1px solid var(--nav-line); margin-left:4px; padding-left:4px; }
.site-nav-tool { display:flex; align-items:flex-start; padding:7px 10px !important; border-radius:5px; color:var(--nav-ink); text-decoration:none !important; text-align:left; }
.site-nav-tool:hover,.site-nav-tool.is-current { background:var(--nav-hover); color:var(--nav-accent); }
.site-nav-tool-name { font-size:13px; font-weight:400; line-height:1.55; }
.top-navbar .site-nav-all { color:var(--nav-accent); }
.site-nav-submenu > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border-radius:5px; font-size:13px; line-height:1.55; list-style:none; cursor:pointer; }
.site-nav-submenu[open] > summary,.site-nav-submenu > summary:hover { background:var(--nav-hover); }
.site-nav-submenu > summary .site-nav-chevron { transform:rotate(-45deg); }
.site-nav-submenu-panel { position:absolute; right:calc(100% + 4px); top:-1px; width:240px; border:1px solid var(--nav-line); border-radius:9px; padding:6px; box-shadow:0 8px 25px #0c1b321c; }
.site-nav-submenu-wide { width:420px; }
.site-nav-submenu-wide .site-nav-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.site-nav-submenu-panel::after { content:""; position:absolute; right:-6px; top:0; bottom:0; width:6px; }
.site-mobile-navigation { padding:8px 12px 24px; }
.site-mobile-category { color:var(--nav-ink); border-bottom:1px solid var(--nav-line); }
.site-mobile-category > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 8px; list-style:none; cursor:pointer; font-size:14px; font-weight:500; }
.site-mobile-category.is-current > summary { color:var(--nav-accent); }
.site-mobile-category > .site-nav-panel { padding:0 0 8px 8px; }
.site-mobile-category .site-nav-link-grid { display:block; max-height:none; overflow:visible; }
.site-mobile-category .site-nav-column { border:0; padding:0; margin:0; }
#mobileSidebar .site-mobile-category .site-nav-tool { margin:0; padding:9px 10px !important; align-items:flex-start; text-align:left; }
.site-mobile-category .site-nav-submenu-panel { position:static; width:auto; box-shadow:none; border:0; border-radius:0; padding:0 0 4px 12px; }
.site-mobile-category .site-nav-submenu-panel::after { display:none; }
.site-mobile-category .site-nav-submenu > summary { padding:10px; }
.site-mobile-category .site-nav-submenu[open] > summary .site-nav-chevron { transform:rotate(45deg); }
.site-mobile-navigation .site-nav-all,.site-mobile-navigation .site-nav-direct { display:block; padding:14px 8px; font-size:14px; }
.site-mobile-navigation .site-nav-all { color:var(--nav-accent); }
.site-mobile-shortcuts { display:flex; gap:8px; margin-bottom:6px; }
#mobileSidebar .site-mobile-shortcuts .sidebar-link { flex:1; justify-content:center; background:var(--nav-hover); color:var(--nav-accent); margin:0; border-radius:7px; font-weight:500; }
.site-mobile-language { padding:6px 0; }
@media(max-width:1279px) { .top-navbar .site-navigation { display:none !important; } .top-navbar .mobile-menu-toggle { display:flex; } #mobileSidebar { display:flex; width:310px; max-width:88vw; } .navbar-theme { margin-left:auto; } .navbar-auth { margin-left:10px; } }
.site-nav-network > summary { background:var(--nav-hover); color:var(--nav-accent); }
.site-nav-network .site-nav-primary { color:inherit; text-decoration:none; font-weight:600; padding:3px 0; }
.site-mobile-category .site-nav-primary { flex:1; }
/* Mobile drawer: quiet surfaces, large touch targets and one scrolling region. */
#mobileSidebar { background:var(--nav-surface); color:var(--nav-ink); border-right:1px solid var(--nav-line); padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
.site-mobile-header { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:54px; flex-shrink:0; padding:4px 16px; border-bottom:1px solid var(--nav-line); }
.site-mobile-header a { color:var(--nav-ink); font-size:16px; font-weight:650; text-decoration:none; }
.site-mobile-header button { min-width:48px; min-height:44px; padding:8px 0 8px 12px; border:0; background:transparent; color:var(--nav-muted); font-size:13px; }
#mobileSidebar .sidebar-user { padding:12px 16px; background:transparent; color:var(--nav-ink); }
#mobileSidebar .sidebar-user-logged { color:var(--nav-ink); }
#mobileSidebar .sidebar-user-sub { color:var(--nav-muted); }
#mobileSidebar .sidebar-avatar-placeholder { display:none; }
#mobileSidebar .sidebar-guest-btns { display:flex; gap:10px; width:100%; }
#mobileSidebar .sidebar-login-btn,#mobileSidebar .sidebar-register-btn { flex:1; min-height:40px; border-radius:7px; border:1px solid var(--nav-line); background:var(--nav-hover); color:var(--nav-ink); font-size:13px; }
#mobileSidebar .sidebar-login-btn { border-color:var(--nav-accent); color:var(--nav-accent); }
#mobileSidebar .site-mobile-navigation { min-height:0; overscroll-behavior:contain; padding:6px 12px 20px; }
#mobileSidebar .site-mobile-shortcuts { margin:2px 0 10px; }
#mobileSidebar .site-mobile-shortcuts .sidebar-link { min-height:46px; padding:10px 6px; font-size:13px; }
#mobileSidebar .site-mobile-category > summary { min-height:46px; padding:10px; border-radius:6px; }
#mobileSidebar .site-mobile-category[open] > summary { background:var(--nav-hover); }
#mobileSidebar .site-mobile-category .site-nav-tool { min-height:44px; justify-content:center; }
#mobileSidebar .site-mobile-category .site-nav-tool-name { font-size:14px; }
#mobileSidebar .site-nav-submenu > summary { min-height:44px; }
#mobileSidebar .site-nav-direct { min-height:46px; margin:0; padding:12px 10px; color:var(--nav-ink); border-bottom:1px solid var(--nav-line); border-radius:0; }
#mobileSidebar .site-mobile-language .sidebar-link { min-height:44px; font-size:14px; color:var(--nav-ink); }
.site-mobile-header button:focus-visible { outline:2px solid var(--nav-accent); outline-offset:2px; }
@media(max-width:1279px) { #mobileSidebar { width:min(340px,calc(100vw - 40px)); max-width:none; } }
@media(prefers-reduced-motion:reduce) { #mobileSidebar { transition:none; } }
#mobileSidebar .site-mobile-category .site-nav-tool { justify-content:flex-start; align-items:center; }
@media(max-width:1279px) {
    #mobileSidebar { display:flex !important; }
    #mobileSidebarOverlay.open { display:block !important; }
}
