/* Sitewide corrections layered after the original brand/style sheets. */
:root { --accent-strong: #087981; --content-width: 1100px; }
html { scroll-behavior: smooth; }
a { color: var(--accent-strong); }
a:hover { text-decoration: underline; }
:focus-visible { outline: 3px solid #0b8192; outline-offset: 3px; }
.sr-only { position: absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:absolute; z-index:200; left:1rem; top:-4rem; padding:.6rem 1rem; background:#fff; color:#111; }
.skip-link:focus { top:.5rem; }
.site-wordmark { font-weight:850; font-size:1.26rem; letter-spacing:-.04em; color:var(--text); white-space:nowrap; }
.site-wordmark span { color:var(--accent-strong); margin-left:.12rem; }
.hh-search { display:flex; gap:.4rem; align-items:center; }
.site-search-button,.home-search button,.search-page-form button,.software-search button { border:0; border-radius:9px; padding:.65rem 1rem; background:#087981; color:white; font-weight:700; cursor:pointer; white-space:nowrap; }
.site-search-button:hover,.home-search button:hover,.search-page-form button:hover,.software-search button:hover { background:#075d65; }
.hh-search input { min-width:0; }
.hh-dropdown:not([open]) .hh-dropdown-menu { display:none; }
.hh-dropdown-menu { background:var(--card-bg); }
.hh-dropdown-menu a { color:var(--text); }
.home-kicker { color:#ecfeff; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1rem; }
.home-search { display:flex; max-width:600px; margin-top:2rem; gap:.6rem; }
.home-search input { min-width:0; flex:1; border-radius:10px; padding:.85rem 1rem; color:#172432; background:white; }
.home-search button { background:white; color:#0b515a; }
.site-heading { font-size:clamp(1.5rem,2.5vw,2rem); font-weight:800; margin:0 0 1.4rem; color:var(--text); }
.software-nav-grid,.guide-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.software-link-card { display:block; color:var(--text); margin:0; }
.software-link-card h3 { color:var(--text); font-size:1.3rem; }
.software-link-card p { margin:.5rem 0 0; color:var(--muted); }
.section-title-row { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; flex-wrap:wrap; }
.guide-card,.search-result-card { display:flex; flex-direction:column; gap:.4rem; padding:1.25rem; border:1px solid var(--border); border-radius:12px; background:var(--card-bg); text-decoration:none; box-shadow:0 2px 8px #00000008; }
.guide-card strong { font-size:1.13rem; color:var(--accent-strong); }
.guide-card span,.search-result-card p { font-size:.94rem; color:var(--muted); line-height:1.5; }
.guide-directory-links { display:flex; gap:1rem 2rem; flex-wrap:wrap; }
.site-list-page { max-width:var(--content-width); margin:0 auto; padding:2.5rem 1.25rem 4rem; }
.site-list-page h1 { font-size:clamp(2rem,3.8vw,3rem); margin:0 0 1rem; }
.software-hero { margin-bottom:2rem; }
.software-tagline { font-weight:700; font-size:1.2rem; }
.software-search { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:1.5rem 0 0; }
.software-search label { width:100%; font-weight:700; }
.software-search input { flex:1; min-width:160px; padding:.7rem .9rem; border-radius:8px; border:1px solid var(--border); background:var(--card-bg); color:var(--text); }
.software-featured,.software-all-content { margin:2rem 0; }
.guides-list { list-style:disc; padding-left:1.4rem; }
.landing-guides { columns:2; }
.landing-guides li { break-inside:avoid; margin-bottom:.5rem; }
.directory-link { font-weight:700; }
.function-page { max-width:940px; }
.function-header .function-description { max-width:740px; color:var(--text); }
.function-content { font-size:1.025rem; line-height:1.75; }
.function-content > .intro { display:block; padding:1.1rem 1.3rem; border-left:4px solid var(--accent-strong); background:var(--card-bg); border-radius:8px; margin:0 0 1.5rem; }
.function-content h2 { display:block; scroll-margin-top:1rem; padding-top:1.7rem; margin:2rem 0 1rem; border-top:1px solid var(--border); font-size:1.55rem; line-height:1.3; }
.function-content h2::before { display:none!important; }
.function-content h3 { font-size:1.15rem; margin:1.4rem 0 .6rem; font-weight:700; }
.function-content p { margin:.8rem 0 1rem; }
.function-content ul,.function-content ol { padding-left:1.6rem; margin:.7rem 0 1.2rem; list-style:revert; }
.function-content li { margin-bottom:.25rem; }
.function-content pre { overflow-x:auto; padding:1rem 1.2rem; border-radius:9px; background:var(--code-bg); color:var(--code-text); font-size:.96rem; line-height:1.6; margin:1rem 0 1.5rem; }
.function-content pre code { white-space:pre; overflow-wrap:normal; }
.function-content :not(pre)>code { background:var(--accent-soft); border-radius:4px; padding:.12rem .3rem; overflow-wrap:anywhere; }
.function-content table { display:block; overflow-x:auto; }
.related-card { margin:2.5rem 0 0; }
.related-list { display:flex; flex-wrap:wrap; gap:.4rem .9rem; list-style:none; padding:0; }
.related-list li { display:inline-flex; }
.function-meta { display:flex; flex-wrap:wrap; gap:.5rem; }
.function-page .breadcrumbs { flex-wrap:wrap; }
.content-page .page-body { max-width:850px; }
.search-page-form { margin:1.5rem 0; }
.search-page-form label { display:block; font-weight:700; margin-bottom:.5rem; }
.search-page-controls { display:flex; gap:.6rem; }
.search-page-form input { flex:1; min-width:0; border:1px solid var(--border); border-radius:8px; background:var(--card-bg); color:var(--text); padding:.65rem .85rem; }
.search-results { display:grid; gap:.75rem; margin:1rem 0 2rem; }
.search-result-card a { font-weight:700; font-size:1.12rem; }
.search-result-card p { margin:0; }
.site-footer { margin-top:1rem; border-top:1px solid var(--border); color:var(--muted); }
.site-footer nav { display:flex; gap:.75rem 1.5rem; flex-wrap:wrap; margin-top:.7rem; }
.dark .guide-card strong,.dark a,.dark .site-wordmark span { color:#65ddd3; }
.dark .site-search-button,.dark .search-page-form button,.dark .software-search button { color:#092e35; background:#79e6d9; }
.dark .function-content pre { background:#090e18; }
@media(max-width:700px) {
  .hh-container { flex-direction:column; align-items:stretch; }
  .hh-search { order:3; max-width:none; }
  .hh-actions { justify-content:flex-end; }
  .home-search,.search-page-controls { flex-direction:column; }
  .landing-guides { columns:1; }
  .function-page { padding:1.4rem .9rem 3rem; }
  .site-wordmark { font-size:1.2rem; }
}

/* Transparent, unobtrusive verification note on function guides. */
.function-verification { margin-top: .9rem; font-size: .9rem; line-height: 1.6; opacity: .88; }
.function-verification a { text-decoration: underline; text-underline-offset: 2px; }

/* The original brand logo artwork is retained in static/images/. */
.hh-header .site-logo {
  flex: 0 0 auto;
  display: block;
  width: clamp(190px, 19vw, 245px);
  max-width: calc(100vw - 2.5rem);
  min-width: 0;
  line-height: 0;
}
.hh-header .site-logo img {
  width: 100%;
  max-width: 100%;
  height: auto !important;
  max-height: 56px;
  object-fit: contain;
  object-position: left center;
}
.site-logo .hh-logo-light {display:block;}
.site-logo .hh-logo-dark {display:none;}
.dark .site-logo .hh-logo-light {display:none;}
.dark .site-logo .hh-logo-dark {display:block;}
/* Visually identifiable software cards without external fonts or third-party assets. */
.software-link-card { position:relative; padding-top:3.4rem; min-height:185px; }
.software-link-card::before {content:""; display:block; position:absolute; top:1.15rem;left:2rem;width:27px;height:27px;border-radius:6px;border:2px solid currentColor;opacity:.75;background:linear-gradient(to right, transparent 31%, currentColor 31%, currentColor 35%, transparent 35%, transparent 65%, currentColor 65%, currentColor 69%, transparent 69%),linear-gradient(to bottom, transparent 31%, currentColor 31%, currentColor 35%, transparent 35%, transparent 65%, currentColor 65%, currentColor 69%, transparent 69%);}
.software-link-card:nth-child(2)::before { transform:rotate(-5deg); }
.software-link-card:nth-child(3)::before { transform:rotate(5deg); }
.function-directory {max-width:1100px;}
.function-directory .functions-items {display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.55rem .8rem;padding:0;margin:.5rem 0;list-style:none;}
.function-directory .function-item {list-style:none;min-width:0;}
.function-directory .function-link {display:flex;flex-direction:column;gap:.2rem;min-height:75px;padding:.75rem 1rem;border:1px solid var(--border);border-radius:9px;background:var(--card-bg);text-decoration:none;}
.function-directory .function-link:hover {border-color:var(--accent-strong);box-shadow:0 3px 9px #0000000a;text-decoration:none;}
.function-directory .function-name {font-size:1rem;color:var(--accent-strong);overflow-wrap:anywhere;}
.function-directory .function-summary {font-size:.85rem;color:var(--muted);line-height:1.4;}
.function-directory .functions-letter-group {margin:1.1rem 0;scroll-margin-top:1.5rem;}
.function-directory .functions-letter-group h2 {font-size:1.35rem;margin:0;}
.function-directory .functions-az,.function-directory .functions-categories {margin:1rem 0;}
.function-directory .category-grid,.function-directory .az-bar {display:flex;flex-wrap:wrap;gap:.4rem .55rem;margin-top:.5rem;}
.function-directory .category-pill {border:1px solid var(--border);background:var(--card-bg);border-radius:999px;padding:.45rem .8rem;cursor:pointer;color:var(--text);}
.function-directory .category-pill.active {border-color:var(--accent-strong);color:white;background:var(--accent-strong);}
.function-directory .az-link {padding:.3rem .4rem;font-weight:650;}
.function-directory .functions-search input {width:100%;margin-top:.45rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);color:var(--text);}
.function-directory .directory-result-count {font-size:.85rem;color:var(--muted);margin-top:.4rem;}
.function-directory [hidden] {display:none!important;}
@media (max-width:700px){.hh-header .site-logo {width:210px;max-width:100%;}.software-link-card{min-height:unset}.function-directory .functions-items{grid-template-columns:1fr;}}
