/* Header, navigation, bottom tab bar, footer. Tokens: /static/css/tokens.css */
.tp .skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:var(--r-md);background:rgb(var(--c-brand-fill));color:rgb(var(--c-on-brand));font-weight:700}
.tp .skip-link:focus{top:12px}

/* Admin bar (admin only) */
.tp .admin-bar{background:#0b1120;color:#c7d2fe;font-size:var(--fs-12);border-bottom:1px solid #1e1b4b}
.tp .admin-bar-inner{max-width:1240px;margin:auto;padding:6px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.tp .admin-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);background:rgb(99 102 241 / .2);color:#c7d2fe;font-weight:700}
.tp .admin-bar-note{color:#94a3b8}
.tp .admin-bar-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.tp .admin-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border-radius:var(--r-sm);background:#1e293b;color:#fff;font-weight:600;border:1px solid #334155}
.tp .admin-btn-primary{background:#4338ca;border-color:#4338ca}
.tp .admin-btn-quiet{background:transparent;border-color:transparent;color:#94a3b8}
@media(max-width:639px){.tp .admin-bar-note{display:none}}

/* Site header */
.tp .site-header{position:relative;z-index:40;background:rgb(var(--c-surface) / .92);border-bottom:1px solid rgb(var(--c-line));-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
@media(min-width:768px){.tp .site-header{position:sticky;top:0}}
.tp .header-inner{max-width:1240px;margin:0 auto;padding:0 16px;min-height:var(--header-h);display:flex;align-items:center;gap:12px}
@media(min-width:1024px){.tp .header-inner{padding:0 32px;gap:20px}}
.tp .brand{display:inline-flex;align-items:center;gap:8px;min-height:44px;flex-shrink:0;color:rgb(var(--c-ink-strong))}
.tp .brand-mark{width:30px;height:30px;flex-shrink:0}
.tp .brand-word{font-size:19px;font-weight:800;letter-spacing:-.02em;color:rgb(var(--c-ink-strong))}
.tp .brand-word b{font-weight:800;color:rgb(var(--c-brand))}

.tp .main-nav{display:none;align-items:center;gap:2px}
@media(min-width:768px){.tp .main-nav{display:flex}}
.tp .main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--r-sm);font-size:15px;font-weight:600;color:rgb(var(--c-ink-muted));white-space:nowrap}
.tp .main-nav a:hover{color:rgb(var(--c-ink-strong));background:rgb(var(--c-surface-2))}
.tp .main-nav a[aria-current]{color:rgb(var(--c-ink-strong));box-shadow:inset 0 -2px 0 rgb(var(--c-brand))}

/* Header search. Desktop: inline. Mobile: second row only on home, otherwise reached via tab bar. */
.tp .header-search{position:relative;display:flex;align-items:center;gap:6px;margin-left:auto;flex:1 1 280px;max-width:380px}
.tp .header-search input{width:100%;min-height:40px;padding:8px 36px 8px 36px;border-radius:var(--r-md);border:1px solid rgb(var(--c-line));background:rgb(var(--c-surface-2));color:rgb(var(--c-ink-strong));font-size:15px}
.tp .header-search input::placeholder{color:rgb(var(--c-ink-muted))}
.tp .header-search input:focus{outline:none;border-color:rgb(var(--c-brand));box-shadow:var(--focus);background:rgb(var(--c-surface))}
.tp .header-search input::-webkit-search-cancel-button{display:none}
.tp .header-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:rgb(var(--c-ink-muted));display:flex;pointer-events:none}
.tp .header-search-clear{position:absolute;right:62px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);color:rgb(var(--c-ink-muted))}
.tp .header-search-clear:hover{color:rgb(var(--c-ink-strong));background:rgb(var(--c-surface))}
.tp .header-search-submit{min-height:40px;padding:0 14px;border-radius:var(--r-md);background:rgb(var(--c-brand-fill));color:rgb(var(--c-on-brand));font-size:14px;font-weight:700;flex-shrink:0}
.tp .header-search-submit:hover{background:rgb(var(--c-brand-fill-hover))}
@media(max-width:767px){
  .tp .header-inner{flex-wrap:wrap;row-gap:0}
  .tp .header-search{display:none;order:5;flex:1 0 100%;max-width:none;margin:0 0 10px}
  .tp .is-home .header-search,.tp .header-search:target,.tp .header-search.is-open{display:flex}
  .tp .header-search input{font-size:16px;min-height:44px}
  .tp .header-search-submit{min-height:44px}
  .tp .header-search-clear{right:66px}
  .tp .header-actions{margin-left:auto}
}
.tp .header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.tp .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-md);color:rgb(var(--c-ink-muted));font-size:20px}
.tp .icon-btn:hover{background:rgb(var(--c-surface-2));color:rgb(var(--c-ink-strong))}
.tp .icon-btn[hidden]{display:none}
.tp .theme-icon-light{display:none}
.tp[data-theme="dark"] .theme-icon-light{display:inline-flex}
.tp[data-theme="dark"] .theme-icon-dark{display:none}
@media(min-width:1024px){.tp #mobile-menu-btn{display:none}}
@media(max-width:479px){.tp .header-admin-link{display:none}}

/* Drawer (secondary menu, < 1024px) */
.tp .mobile-drawer{border-top:1px solid rgb(var(--c-line));background:rgb(var(--c-surface));padding:12px 16px 16px;box-shadow:var(--shadow-2)}
.tp .mobile-drawer:not(.hidden){display:block}
@media(min-width:1024px){.tp .mobile-drawer{display:none!important}}
.tp .drawer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:720px;margin:0 auto}
@media(min-width:640px){.tp .drawer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tp .drawer-links a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border-radius:var(--r-md);background:rgb(var(--c-surface-2));color:rgb(var(--c-ink-strong));font-size:15px;font-weight:600}
.tp .drawer-links a .icon{color:rgb(var(--c-ink-muted))}
.tp .drawer-links a[aria-current]{background:rgb(var(--c-brand-soft));color:rgb(var(--c-brand))}
.tp .drawer-foot{max-width:720px;margin:12px auto 0;padding-top:12px;border-top:1px solid rgb(var(--c-line));display:flex;justify-content:flex-end}

/* Bottom tab bar (< 768px) */
.tp .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);background:rgb(var(--c-surface) / .96);border-top:1px solid rgb(var(--c-line));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.tp .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--tabbar-h);font-size:11.5px;font-weight:600;color:rgb(var(--c-ink-muted))}
.tp .tabbar a .icon{font-size:22px}
.tp .tabbar a[aria-current]{color:rgb(var(--c-brand))}
@media(min-width:768px){.tp .tabbar{display:none}}
@media(max-width:767px){.tp .tp-body{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}}

/* Category chip rail (home) */
.tp .topic-tabs{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px;margin:-2px;scroll-padding-inline:16px}
.tp .topic-tabs::-webkit-scrollbar{display:none}
.tp .topic-tab{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:var(--r-pill);white-space:nowrap;flex:0 0 auto;font-size:14px;font-weight:600;color:rgb(var(--c-ink));background:rgb(var(--c-surface));border:1px solid rgb(var(--c-line));transition:background .15s,color .15s,border-color .15s}
.tp .topic-tab .icon{color:var(--cat,rgb(var(--c-ink-muted)))}
.tp .topic-tab:hover{border-color:rgb(var(--c-line-strong));color:rgb(var(--c-ink-strong))}
.tp .topic-tab[aria-current]{background:rgb(var(--c-ink-strong));border-color:rgb(var(--c-ink-strong));color:rgb(var(--c-surface))}
.tp .topic-tab[aria-current] .icon{color:inherit}
@media(max-width:767px){.tp .topic-tab{min-height:44px}}

.tp .main-nav a:focus-visible,.tp .topic-tab:focus-visible,.tp .drawer-links a:focus-visible,.tp .tabbar a:focus-visible,.tp .icon-btn:focus-visible{outline:3px solid rgb(var(--c-brand) / .6);outline-offset:2px}

/* Footer */
.tp .site-footer{margin-top:56px;border-top:1px solid rgb(var(--c-line));background:rgb(var(--c-surface));color:rgb(var(--c-ink-muted));font-size:var(--fs-13)}
.tp .footer-inner{padding-top:28px;padding-bottom:28px;display:grid;gap:16px}
@media(min-width:900px){.tp .footer-inner{grid-template-columns:minmax(0,1fr) auto;align-items:start}.tp .footer-note{grid-column:1/-1}}
.tp .footer-brand .brand-word{font-size:16px}
.tp .footer-brand p{margin-top:4px}
.tp .footer-links{display:flex;flex-wrap:wrap;gap:0 4px}
.tp .footer-links a,.tp .footer-links button{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:rgb(var(--c-ink));font-weight:600}
.tp .footer-links a:hover,.tp .footer-links button:hover{color:rgb(var(--c-brand))}
.tp .footer-note{padding-top:14px;border-top:1px solid rgb(var(--c-line));font-size:var(--fs-12)}

@media(prefers-reduced-motion:reduce){.tp .topic-tab{transition:none}}
