/* Shared semantics and narrow-screen fixes; ASCII whitespace stays intact. */
.skip-link { position:fixed; left:1rem; top:-100px; z-index:110; padding:.8rem 1rem; background:#2dd4bf; color:#041016; }
.skip-link:focus { top:1rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
main h1,main h2,main h3,main p,main li,.specs th,.specs td { overflow-wrap:anywhere; }
main p a:not(.button):not(.chip):not(.card),main li a:not(.button):not(.chip):not(.card),.prose a:not(.button) { text-decoration:underline; text-underline-offset:.16em; }
main .card,main .panel,main .font-sample,main .container,main .wrap { min-width:0; }
.font-sample { max-width:100%; }
.font-sample pre { max-width:100%; }
.specs { table-layout:fixed; }
.heading-level-3 { font-size:1.15rem; }
.faq-item .heading-level-3 { margin-bottom:8px; }
button.dropzone { display:block; width:100%; font:inherit; cursor:pointer; }
[tabindex="0"]:focus-visible,button.dropzone:focus-visible { outline:2px solid #2dd4bf; outline-offset:3px; }
/* Native iOS/WebKit selects otherwise mix the light system face with our text. */
select {
  -webkit-appearance:none; appearance:none; color-scheme:dark;
  background-color:#0c131b; color:#e8f0f7; -webkit-text-fill-color:currentColor;
}
select:not([multiple]) {
  padding-right:2.6rem;
  background-image:linear-gradient(45deg,transparent 50%,#e8f0f7 50%),linear-gradient(135deg,#e8f0f7 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size:5px 5px; background-repeat:no-repeat;
}
/* Keep focused/scroll-target controls clear of the sticky navigation. */
html { scroll-padding-top:88px; }
@media (max-height:600px) {
  .site-header { position:relative; }
  html { scroll-padding-top:16px; }
}
@media (forced-colors:active) {
  select,select:not([multiple]) { -webkit-appearance:auto; appearance:auto; color:CanvasText; -webkit-text-fill-color:CanvasText; background:Canvas; }
}
