/* Dejargoned: behaviour shared by every skin. Visual design lives in skins/<id>.css,
   chosen pre-paint from localStorage "ptg-skin" (see skin_head in build_site.py). */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-wrap:break-word}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
.vh,.skin-label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-100px;z-index:1000}
.skip:focus{top:12px}
main:focus{outline:none}

/* Skin-specific extras stay hidden unless their skin shows them. */
.skin-only,.label-ask,.ask-post{display:none}

/* Search suggestions sit under their field. */
.search{position:relative}
.suggest{position:absolute;left:0;right:0;z-index:50;margin:4px 0 0;padding:0;list-style:none}
.suggest [role=option]{cursor:pointer}

/* Wide content never forces a horizontal page scroll. */
.table-wrap{overflow-x:auto;max-width:100%}
.lightbox{position:fixed;inset:0;background:rgba(8,12,18,.85);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100;cursor:zoom-out}
.lightbox img{max-width:96vw;max-height:92vh}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
