.sitemap-page { background: var(--bg-card); border:1px solid var(--border-light); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 36px 40px; margin: 30px 0 32px; }
.sitemap-page h1 { font-family: var(--font-serif); font-size:1.9rem; color: var(--text-bright); text-align:center; letter-spacing:3px; margin:0 0 8px; }
.sitemap-subtitle { text-align:center; color: var(--text-muted); font-size:13px; margin:0 0 28px; letter-spacing:1px; }
.sitemap-search { position:relative; max-width:520px; margin:0 auto 24px; }
.sitemap-search input { width:100%; padding:14px 52px 14px 20px; font-size:15px; border:1px solid var(--border); border-radius:28px; background: var(--bg-soft); color: var(--text); outline:none; transition: all .2s ease; font-family:inherit; }
.sitemap-search input::placeholder { color: var(--text-muted); }
.sitemap-search input:focus { border-color: var(--accent); background: var(--bg-card); box-shadow: 0 0 0 4px var(--accent-soft); }
.sitemap-search .search-icon { position:absolute; right:20px; top:50%; transform: translateY(-50%); color: var(--accent); font-size:16px; pointer-events:none; }
.sitemap-count { text-align:center; color: var(--text-muted); font-size:13px; margin:0 0 24px; }
.sitemap-count strong { color: var(--accent); font-weight:600; margin:0 4px; }
.sitemap-list { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap:10px; }
.sitemap-list a { display:flex; align-items:center; padding:10px 16px; background: var(--bg-soft); border:1px solid var(--border-light); border-radius:10px; color: var(--text-secondary); font-size:14px; line-height:1.5; transition: all .2s ease; min-width:0; }
.sitemap-list a:before { content:"☸"; color: var(--accent); margin-right:8px; font-size:12px; opacity:0.6; flex-shrink:0; transition: opacity .2s ease; }
.sitemap-list a .title { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sitemap-list a:hover { background: var(--accent-soft); color: var(--accent); border-color: var(--accent); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(184,115,51,0.1); }
.sitemap-list a:hover:before { opacity: 1; }
.sitemap-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:32px 0 8px; padding-top:20px; border-top:1px solid var(--border-light); }
.sitemap-pagination button { min-width:36px; height:36px; padding:0 12px; border:1px solid var(--border); background: var(--bg-card); color: var(--text-secondary); border-radius:8px; cursor:pointer; font-size:14px; font-family:inherit; transition: all .2s ease; flex-shrink:0; }
.sitemap-pagination button:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.sitemap-pagination button.active { background: var(--accent); color:#fff; border-color: var(--accent); font-weight:600; }
.sitemap-pagination button:disabled { opacity:0.4; cursor:not-allowed; }
.sitemap-pagination .ellipsis { color: var(--text-muted); padding:0 4px; }
.sitemap-pagination .info { color: var(--text-muted); font-size:13px; margin:0 12px; }
.sitemap-loading, .sitemap-empty { text-align:center; padding:60px 20px; color: var(--text-muted); font-size:15px; }
.sitemap-loading .spinner { display:inline-block; width:32px; height:32px; border:3px solid var(--border); border-top-color: var(--accent); border-radius:50%; animation: spin .8s linear infinite; margin-bottom:16px; }
@keyframes spin { to { transform: rotate(360deg); } }
.sitemap-empty { display:none; }
.sitemap-empty i { display:block; font-size:48px; margin-bottom:16px; color: var(--border); }

@media (max-width:768px) {
  .sitemap-page { padding:24px 18px; border-radius: var(--radius-md); margin:20px 0; }
  .sitemap-page h1 { font-size:1.4rem; letter-spacing:2px; }
  .sitemap-list { grid-template-columns: 1fr 1fr; gap:8px; }
  .sitemap-list a { padding: 8px 12px; font-size:13px; }
  .sitemap-pagination { flex-wrap: wrap; gap: 4px; padding-top: 16px; }
  .sitemap-pagination button { min-width: 32px; height: 32px; font-size: 13px; padding: 0 8px; }
  .sitemap-pagination .info { width: 100%; text-align: center; margin: 6px 0 0; font-size: 12px; }
}
@media (max-width:480px) {
  .sitemap-page { padding: 20px 14px; }
  .sitemap-list { grid-template-columns: 1fr; }
  .sitemap-pagination { gap: 3px; }
  .sitemap-pagination button { min-width: 28px; height: 28px; font-size: 12px; padding: 0 6px; border-radius: 6px; }
}