/* Useful Hive refresh styles: uses existing design tokens */
[class*="uh-"][hidden],.uh-report-form[hidden]{display:none!important}
.uh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 18px}
.uh-save{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:2px solid var(--amber);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer;transition:background .2s var(--ease)}
.uh-save svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.uh-save[aria-pressed=true]{background:var(--amber);color:var(--char)}
.uh-save[aria-pressed=true] svg{fill:currentColor}
.uh-save:focus-visible,.uh-remove:focus-visible,.uh-report-form button:focus-visible{outline:3px solid var(--amber-ink);outline-offset:2px}
.uh-saved-count{display:inline-block;min-width:1.5em;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--amber);color:var(--char);font-size:.8em;font-weight:700;text-align:center;line-height:1.5}
.uh-saved-count[hidden]{display:none}
.uh-toc{display:block;float:none;width:auto;margin:0 0 20px;padding:0;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--radius);background:var(--surface);font-size:.9rem;line-height:1.35}
.uh-toc details{display:block}
.uh-toc summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 14px;font-weight:700;cursor:pointer;list-style:none}
.uh-toc summary::-webkit-details-marker{display:none}
.uh-toc summary::after{content:"";flex:none;width:8px;height:8px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s var(--ease)}
.uh-toc details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.uh-toc summary:focus-visible{outline:3px solid var(--amber-ink);outline-offset:2px}
.uh-toc ol{display:block;margin:0;padding:0 14px 12px 2.1em;columns:auto;list-style:decimal}
.uh-toc li{display:list-item;margin:0;padding:0}
.uh-toc li+li{margin-top:6px}
.uh-toc li::marker{color:var(--muted,#888);font-size:.85em}
.uh-toc a{display:inline;padding:0;color:var(--link)}
@media (prefers-reduced-motion:reduce){.uh-toc summary::after{transition:none}}
aside.printable.uh-card{position:relative;border:1px solid var(--line);border-top:5px solid var(--amber);border-radius:var(--radius);background:var(--surface-2);box-shadow:var(--shadow-sm);padding:20px 22px;margin:32px 0}
aside.printable.uh-card h2{margin:0 0 8px;font-size:1.2rem}
aside.printable.uh-card p{margin:0}
aside.printable.uh-card p a{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;padding:8px 18px;border-radius:999px;background:var(--amber);color:var(--char);font-weight:700;text-decoration:none}
.uh-recent{margin:36px 0 8px;padding-top:20px;border-top:1px solid var(--line)}
.uh-recent h2{font-size:1.15rem;margin:0 0 12px}
.uh-cards,.uh-saved-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.uh-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.uh-cards a,.uh-saved-list a{display:flex;flex-direction:column;gap:4px;min-height:44px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm)}
.uh-cards a:hover,.uh-saved-list a:hover{border-color:var(--amber)}
.uh-card-hive{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.uh-card-title{font-weight:700}
.uh-saved-list li{display:flex;gap:10px;align-items:stretch}
.uh-saved-list li a{flex:1}
.uh-remove{min-height:44px;min-width:44px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer}
.uh-remove:hover{border-color:var(--amber)}
.uh-soft{margin:32px 0;padding:18px 20px;border-radius:var(--radius);background:var(--surface-2)}
.uh-report-link{display:inline-block;padding:10px 0}
#uh-report{max-width:min(520px,calc(100vw - 24px));width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:22px;box-shadow:var(--shadow-lg)}
#uh-report::backdrop{background:rgba(0,0,0,.45)}
.uh-report-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.uh-report-head h2{margin:0;font-size:1.25rem}
.uh-report-form{display:grid;gap:14px;margin-top:12px}
.uh-report-form label{display:grid;gap:6px;font-weight:600}
.uh-report-form select,.uh-report-form textarea,.uh-report-form input{font:inherit;font-weight:400;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}
.uh-report-form textarea{min-height:110px;resize:vertical}
.uh-report-form .uh-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.uh-report-form button[type=submit],.uh-report-done button{justify-self:start;min-height:44px;padding:10px 20px;border:0;border-radius:999px;background:var(--amber);color:var(--char);font:inherit;font-weight:700;cursor:pointer}
.uh-close{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer}
.uh-report-err{color:#b3261e;font-weight:600}
[data-theme=dark] .uh-report-err{color:#ffb4ab}
.uh-hint{font-weight:400;font-size:.85rem;color:var(--muted)}
.uh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){
  main .wrap{padding-left:18px;padding-right:18px}
  main h1{margin-bottom:10px}
  main h2{margin-top:1.8em}
  main li{margin:6px 0}
  ul.related li a,ol.sources li a{display:inline-block;padding:6px 0}
  .site-head nav a,.site-head summary{display:inline-flex;align-items:center;min-height:44px}
  .site-foot p a{display:inline-block;padding:8px 2px}
  .uh-save{width:100%;justify-content:center}
  #uh-report{padding:18px}
}
@media (prefers-reduced-motion:reduce){.uh-save{transition:none}}
/* QC 2026-10-21: anchor offset under sticky header, 44px tap targets */
h2[id]{scroll-margin-top:88px}
.uh-toc a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0}
.site-foot a{display:inline-flex;align-items:center;min-height:44px}
.site-foot .social a{justify-content:center;min-width:44px;min-height:44px}
.site-head .icon-btn,.search-open,.theme-toggle{min-width:44px;min-height:44px}
.ctas .btn,a.btn{display:inline-flex;align-items:center;min-height:44px}
main p.meta>a:first-child{display:inline-flex;align-items:center;min-height:44px}
/* QC 466 (2026-10-23): header collapses with no animation during an anchor jump; mobile anchor offset = collapsed header (59px) + 13px; 44px tap targets without moving the text */
.site-head.uh-nojump,.site-head.uh-nojump .wrap,.site-head.uh-nojump img{transition:none!important}
@media (max-width:640px){main h2[id]{scroll-margin-top:72px}}
main p.meta>a:first-child{padding-inline:8px;margin-inline:-8px}
main .back a{min-height:44px;box-sizing:border-box}
@media (min-width:641px){.site-foot p a{padding-inline:6px;margin-inline:-6px}}
/* QC 466 round 2 (2026-10-24): on mobile, headings with ids never get the reveal slide, so an anchor jump measures the heading where it will stay */
@media (max-width:640px){.js main h2[id].reveal{transform:none;transition:opacity .7s var(--ease);transition-delay:var(--d,0ms)}}
