[hidden] { display: none !important; }
html { scroll-padding-top: 5.5rem; }
a:focus-visible, button:focus-visible, input:focus-visible {
    outline: 3px solid #fbbf24;
    outline-offset: 5px;
}
.skip-link {
    position: fixed; top: -5rem; left: 1rem; z-index: 300;
    background: #fbbf24; color: #111827; padding: .75rem 1rem; border-radius: .5rem;
}
.skip-link:focus { top: 1rem; }
.mobile-menu { padding: .25rem 0 .75rem; border-top: 1px solid #374151; }
.mobile-menu a { display: block; padding: .75rem; color: #e5e7eb; border-radius: .5rem; }
.mobile-menu a:hover { background: #374151; color: #fbbf24; }
.tool-search { max-width: 36rem; margin: 0 auto 2rem; }
.tool-search label { display: block; color: #f3f4f6; font-weight: 600; margin-bottom: .5rem; }
.tool-search-row { display: flex; gap: .5rem; }
.tool-search input {
    width: 100%; min-width: 0; border: 1px solid #6b7280; border-radius: .625rem;
    padding: .8rem 1rem; color: #f9fafb; background: #111827; font-size: 1rem;
}
.tool-search input::placeholder { color: #9ca3af; }
.tool-search button { padding: .6rem .85rem; color: #fbbf24; border: 1px solid #6b7280; border-radius: .625rem; }
#searchStatus { color: #9ca3af; font-size: .875rem; min-height: 1.5rem; margin-top: .6rem; }
.no-tool-results { color: #d1d5db; text-align: center; padding: 2rem 1rem; border: 1px dashed #6b7280; border-radius: .75rem; }
.tool-status { display: block; color: #d1d5db; text-align: center; font-size: .7rem; line-height: 1.4; margin-top: .4rem; }
.tool-status.unavailable { color: #fbbf24; }
.app-icon-cell.unavailable .app-icon { opacity: .6; }
button.app-icon-link { border: 0; background: none; padding: 0; font: inherit; }
@media (min-width: 768px) { .mobile-menu { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
