/* GNOME CSS theme for Release Notes */

/* Inter from static.gnome.org grabbed from HTML */

:root {
  --rounded-corner: 12px;
  --gnomeblue: #1c71d8;
  --blue1: rgb(153, 193, 241);
  --blue2: rgb(98, 160, 234);
  --blue3: rgb(53, 132, 228);
  --blue4: rgb(28, 113, 216);
  --blue5: rgb(26, 95, 180);
  --green1: rgb(143, 240, 164);
  --green2: rgb(87, 227, 137);
  --green3: rgb(51, 209, 122);
  --green4: rgb(46, 194, 126);
  --green5: rgb(38, 162, 105);
  --yellow1: rgb(249, 240, 107);
  --yellow2: rgb(248, 228, 92);
  --yellow3: rgb(246, 211, 45);
  --yellow4: rgb(245, 194, 17);
  --yellow5: rgb(229, 165, 10);
  --orange1: rgb(255, 190, 111);
  --orange2: rgb(255, 163, 72);
  --orange3: rgb(255, 120, 0);
  --orange4: rgb(230, 97, 0);
  --orange5: rgb(198, 70, 0);
  --red1: rgb(246, 97, 81);
  --red2: rgb(237, 51, 59);
  --red3: rgb(224, 27, 36);
  --red4: rgb(192, 28, 40);
  --red5: rgb(165, 29, 45);
  --purple1: rgb(220, 138, 221);
  --purple2: rgb(192, 97, 203);
  --purple3: rgb(145, 65, 172);
  --purple4: rgb(129, 61, 156);
  --purple5: rgb(97, 53, 131);
  --brown1: rgb(205, 171, 143);
  --brown2: rgb(181, 131, 90);
  --brown3: rgb(152, 106, 68);
  --brown4: rgb(134, 94, 60);
  --brown5: rgb(99, 69, 44);
  --light1: rgb(255, 255, 255);
  --light2: rgb(246, 245, 244);
  --light3: rgb(222, 221, 218);
  --light4: rgb(192, 191, 188);
  --light5: rgb(154, 153, 150);
  --dark1: rgb(119, 118, 123);
  --dark2: rgb(94, 92, 100);
  --dark3: rgb(61, 56, 70);
  --dark4: rgb(36, 31, 49);
  --dark5: rgb(0, 0, 0);
  --adwaita-accent-color: var(--blue4);
  --adwaita-warning-color: #9c6e03;
  --adwaita-error-color: #c01c28;
  --text: #f6f5f4;
  --tocbg: var(--light2);
  --tocfg: var(--dark3);
  --borders: var(--light3);
  --fgcolor: var(--dark5);
  --fgcolor-rgb: 0,0,0;
  --bgcolor: var(--light1);
  --bgcolor-rgb: 255,255,255;
  --osdfgcolor: var(--dark5);
  --osdbgcolor: rgba(0, 0, 0, 0.1);
  --link: var(--adwaita-accent-color);
  --link-deco: color-mix(in oklab, var(--link) 50%, var(--bgcolor));
  --pagewidth: 50rem;
  --pagepad: 1rem;
  --footerbgcolor: var(--light3);
  --footerfgcolor: var(--dark3);
  --footerfgcolor-rgb: 61,56,70;
  --accordion-min-height: 2rem;
  --accordion-max-height: 30rem;
  --btnround: 500px;
  --btn-fg: #000;
  --btn-bg: rgba(0,0,0,0.2);
  --slickease: cubic-bezier(.17,.89,.32,1.28);
}

::selection {
  background-color: rgba(153, 193, 241, 0.5);
}

@media (prefers-color-scheme: dark) {
  :root {
    --adwaita-accent-color: #78aeed;
    --adwaita-warning-color: #f8e45c;
    --adwaita-error-color: #ff7b63;
    --tocbg: rgba(0, 0, 0, 0.3);
    --tocfg: var(--light5);
    --borders: var(--dark3);
    --fgcolor: var(--light1);
    --fgcolor-rgb: 255,255,255;
    --bgcolor: var(--dark4);
    --bgcolor-rgb: 36,31,49;
    --osdfgcolor: var(--light1);
    --osdbgcolor: rgba(0, 0, 0, 0.3);
    --footerbgcolor: var(--dark5); 
    --footerfgcolor: var(--light2);
    --footerfgcolor-rgb: 246,245,244;
  }
  ::selection {
    background-color: rgba(26, 95, 180, 0.4);
  }
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
} /* smooth scroll anchor links */

body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-family: InterVariable, "Inter var", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: var(--fgcolor);
  background-color: var(--bgcolor);
  overflow-x: hidden; /* screenshots when zoomed in */
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
@media (min-width: 700px) {
  html,
  body {
    font-size: 18px;
  }
}

main,
.backbutton {
  max-width: var(--pagewidth);
  margin: auto;
  flex: 1;
}
.backbutton { flex: 0; width: 100%; }

/* grid layout to allow for images being edge to edge */
main {
  max-width: inherit;
  padding: 0;
  display: grid;
  grid-template-columns:
    [full-start] minmax(var(--pagepad), 1fr)
    [main-start] minmax(var(--pagepad), var(--pagewidth)) [main-end]
    minmax(var(--pagepad), 1fr) [full-end];
}

main > * {
  grid-column: main;
}

main p.full, 
main picture.full {
  display: block;
  grid-column: full;
  margin: 0;
}

main p.full img, 
main picture.full img {
  display: block;
  width: 100%;
  margin: 0;
}

pre {
  grid-column: main / full;
  background-color: var(--dark4);
  color: var(--light1);
  padding: 2rem;
  overflow: scroll;
}

p strong {
  font-weight: 600;
  opacity: 0.9;
}

h1 {
  font-weight: 800;
  font-size: 24pt;
}

h2 {
  font-weight: 800;
  font-size: 17pt;
  margin-top: 3rem;
}


h3 {
  font-weight: 800;
  font-size: 15pt;
}
h4 {
  font-weight: 700;
  font-size: 14pt;
}
h5 {
  font-weight: 700;
  font-size: 12pt;
}
h2,
h3,
h4,
h5 {
  opacity: 0.7;
}

h1:first-of-type {
  margin-top: calc(2 * var(--pagepad));
}



a {
  color: var(--link);
  text-decoration-color: var(--link-deco);
  transition: all 300ms ease-in-out;
}
@media (prefers-contrast: more) {
  a {
    text-decoration-color: unset;
  }
}
@media (prefers-reduced-motion) {
  a {
    transition: none;
  }
}
a:hover {
  text-decoration-color: unset; /* restore text decoration color to match text color */
}

ul {
  margin: 1rem 0 0;
}
ul li {
  list-style-image: url(/assets/bullet.svg);
  margin-inline-end: 1ch;
  margin-bottom: 1rem;
}
ul li:hover::marker {
}

kbd {
  font-family: monospace;
  font-size: 70%;
  padding: 0.2rem 0.4rem;
  background-color: var(--osdbgcolor);
  color: var(--osdfgcolor);
  border-radius: var(--rounded-corner);
}
.icon-dropshadow {
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.2));
}

/* buttons */
.btn {
  font-weight: 600;
  font-variation-settings: "wght" 600;
  color: var(--btn-fg);
  background-color: var(--btn-bg);
  display: inline-block;
  font-size: 100%;
  padding: 0.6rem 2rem;
  margin: .3rem;
  max-width: 20rem;
  text-align: center;
  text-decoration: none;
  border-radius: var(--btnround);
  box-shadow: 0 0 0 0 var(--btn-bg);
  min-width: 6rem;
  transition: box-shadow 200ms var(--slickease);

  &:hover { box-shadow: 0 0 0 4px var(--btn-bg); }

  &.square {
    border-radius: var(--rounded-corner);
  }
  aside & { /* asides are always dark */
    --btn-fg: #fff;
    --btn-bg: rgba(255,255,255,0.05);
  }
}
.btn.standalone {
  display: block;
  padding: 0.6rem 2rem;
  margin: 3rem auto;

  &.left {
    margin: 3rem 0;
  }
  &.emphasized {
    --btn-fg: #fff;
    --btn-bg: var(--blue3);
  }

}

.related-pages {
  margin-top: 5rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  font-size: 10pt;
  font-weight: 800;
  display: flex;
  flex-direction: row-reverse;
  align-items: stretch;
  justify-content: space-between;
}

.related-pages a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--dark1);
  gap: 12px;
}
.related-pages a .title {
  color: var(--dark1);
}
.related-pages a svg {
  width: 32px;
  height: 32px;
}

.prev-page {
  border-radius: 8px;
  padding: 8px 24px 8px 8px;
}
.prev-page svg {
  transform: rotate(180deg);
}
.next-page {
  border-radius: 8px;
  padding: 8px 8px 8px 24px;
}
.related-pages a.prev-page,
.related-pages a.next-page {
  float: none;
  max-width: inherit;
}
.related-pages a.prev-page:hover,
.related-pages a.next-page:hover {
  background-color: var(--tocbg);
}
@media (min-width: 700px) {
  .related-pages {
    font-size: 14pt;
    margin-left: 0;
    margin-right: 0;
  }
  .prev-page {
    padding: 16px 48px 16px 16px;
    border-radius: 24px;
  }
  .next-page {
    padding: 16px 16px 16px 48px;
    border-radius: 24px;
  }
}

.related-pages a.prev-page:only-child,
.related-pages a.next-page:only-child,
.page-info {
  /* align-self: flex-end; i wish */
  width: 100%; /* big buttons instead */
}

.toctree-wrapper ul {
  margin: 0;
  padding: 0;
}

.toctree-wrapper li {
  list-style: none;
  margin: 0 0 1rem 0;
}
.toctree-wrapper li.toctree-l1 {
  font-size: 14pt;
  font-weight: 600;
}
.toctree-wrapper li.toctree-l1 > a {
  color: var(--tocfg);
}

.toctree-wrapper li.toctree-l2 {
  list-style-image: url(toc_bullet.svg);
  margin: 0;
  font-size: 12pt;
  font-weight: 400;
  padding: 0.2rem;
}
.toctree-wrapper > ul ul {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: 0.2rem;
}
.toctree-wrapper > ul ul a {
  background-color: transparent;
}
/* tiled TOC with images */

ul.tiled-toc {
  display: grid;
  gap: 1rem;
  grid-auto-flow: row;
  margin: 1rem 0;
  padding: 0;
  text-align: center;
  margin-top: 2rem;
}
ul.tiled-toc li {
  display: block;
  list-style: none;
}
ul.tiled-toc li img {
  display: block;
  width: 100%;
}
ul.tiled-toc li img::after {
  content: "Foo";
}

ul.tiled-toc a {
  color: black;
  text-decoration: none;
  font-weight: 600;
}

@media (min-width: 700px) {
  ul.tiled-toc {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  }
}

@media (prefers-color-scheme: dark) {
  ul.tiled-toc a {
    color: white;
  }
}

table {
  font-size: 90%;
  box-shadow: none;
  border-collapse: collapse;
  border-spacing: 0;
  border-radius: 0;
  text-align: left;
  border-width: 0;
  box-sizing: border-box;
  width: 100%;
  margin: 1rem 0 3rem;
}
/* reset crazy */
table th,
table tr,
table td {
  background-color: transparent;
}

table td,
table th {
  border-width: 0;
  padding: 0.25rem;
}
table tr {
  border-width: 0;
  border-bottom: 1px solid var(--borders);
  display: grid;
  /* grid-template-columns: 1fr 1fr 1fr 1fr; */
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(40px, 1fr));
}

table thead tr {
  font-weight: 800;
  border-width: 0;
  box-sizing: inherit;
  border-bottom: 2px solid var(--borders);
}

video {
  width: 100%;
  height: auto;
}

/* hide autoplay animations for motion-sensitive folks */ 
@media (prefers-reduced-motion) {
  video[autoplay] {
    display: none;
  }
}

  picture.rounded img, video.rounded, img.rounded {
    border-radius: var(--rounded-corner);
  }

img {
  max-width: 100%;
}

img[src$="-bigimage.svg"] {
  margin: 0 -1rem 0 -1rem;
}

img[src$="-screenshot.png"],
img[src$="-screenshot.jpg"],
img[src$="-screenshot.webp"] {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  height: auto;
  transition: all 300ms ease-out;
}

img[src$="-screenshot.png"]:hover,
img[src$="-screenshot.jpg"]:hover,
img[src$="-screenshot.webp"]:hover {
  transform: scale(1.06);
  /* cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='96' viewport='0 0 100 100' style='fill:black;font-size:48px;'><text y='50%'>🔎</text></svg>") 16 0,
    auto; */
  cursor: zoom-in;
}

@media (prefers-reduced-motion) {
  img[src$="-screenshot.png"],
  img[src$="-screenshot.jpg"],
  img[src$="-screenshot.webp"] {
    transition: none;
  }

  img[src$="-screenshot.png"]:hover,
  img[src$="-screenshot.jpg"]:hover,
  img[src$="-screenshot.webp"]:hover {
    transform: none;
  }
}

img[src$="-screenshot.png"]:active,
img[src$="-screenshot.jpg"]:active,
img[src$="-screenshot.webp"]:active {
  transform: scale(1.5);
}

/* before/after container */
picture.beforeafter {
    position: relative;    
    height: auto;
    overflow: hidden;

    & img {
        display: block;
        width: 100%;
        height: auto;
    }
}

.after-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0 100% 0 0); 
    transition: clip-path 0.3s ease;
}

picture.beforeafter:hover .after-img {
    clip-path: inset(0 0 0 0);
    cursor: url('preview-cursor.svg'), col-resize;
}

.app-gallery {
  background-color: transparent;
  aspect-ratio: 1 / 1; /* prevent following content from jumping */
}
.app-gallery a {
  text-decoration: none;
  transition: all 300ms ease-out;
}
.app-gallery a:hover {
  font-weight: bold;
}

.app-gallery h2 {
  font-size: 32pt;
  font-weight: 300;
  text-align: center;
}

/* app icons tabs */
#apps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  /* justify-content: space-between;
  align-content: space-between; */
  justify-content: space-between;
  justify-items: stretch;
  align-items: center;
  width: 100%;
  margin: 2rem 0 5rem;
  padding: 0;
  gap: 1rem;
  text-align: center;
}
#apps input {
  display: none;
}
#apps input + label {
  display: block;
  text-align: center;
  padding: 3%;
}

#apps input + label img {
  transition: transform 300ms ease-in-out;
  max-width: 128px;
  width: calc(100% - 12px); /* scale down for small size */
  height: auto;
}
#apps input + label img:hover {
  cursor: pointer;
  transform: scale(1.1);
}

#apps .app {
  display: none; /* hide everything initially*/
  grid-column: span 4;
  transition: all 300ms ease-in-out;
}
#app1:checked ~ .app.content1,
#app2:checked ~ .app.content2,
#app3:checked ~ .app.content3,
#app4:checked ~ .app.content4 {
  display: block;
  justify-self: stretch;
} /* show content for selected app */

#apps .window-caption {
  max-width: 23em;
  margin: 1rem auto;
}

#apps input + label {
  position: relative;
  top: 1px;
  border-radius: var(--rounded-corner);
}

#apps input:checked + label {
  background-color: rgba(0, 0, 0, 0.05);
}
#apps input + label:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
@media (prefers-color-scheme: dark) {
  #apps input:checked + label {
    background-color: rgba(255, 255, 255, 0.05);
  }
  #apps input + label:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }
}

input ~ .app {
  overflow: hidden;
  padding: 0;
}
input ~ .app > p {
  /* text-shadow: 0 2px 2px rgba(0,0,0,0.5); */
}
@media (min-width: 900px) {
  input ~ .app > img.fullimg {
    /* width: 60%; */
    margin: 0 auto;
    height: auto;
  }
}

@media (min-width: 900px) {
  input ~ .app > img.fullimg {
    /* width: 60%; */
    margin: 0 auto;
    height: auto;
  }
}

.fullimg {
  display: block;
  width: 100%;
  height: auto;
  margin: 0.5em 0;
}
img[src^="../_images/hidden-"] {
  display: none;
}
.unhidden img[src^="../_images/hidden-"] {
  display: inherit;
}
img[src^="../_images/window-"] {
  display: none;
}
img[src^="../_images/window-"].fullimg {
  display: inherit;
}

/* header navigation */
.hero {
  min-height: 20vh;
  background-color: var(--blue5);
}

.hero section.header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: calc(var(--pagewidth) + 2 * var(--pagepad));
  padding: 0 var(--pagepad);
  margin: 0 auto;
}

@media only screen and (max-width: 600px) {
  .hero section.header {
    flex-direction: column;
  }
  .hero section.header .nav {
    justify-content: center;
  }
  .hero section.header #logo { margin-top: 2rem; }
}


  #logo {
    font-weight: 900;
    font-size: 1.4rem;
    margin: 0;
    opacity: 1;

    
    & a {
      text-decoration: none;
      color: #fff;
      font-weight: inherit;
      font-variation-settings: inherit;
    }

    /* no external link for specific schema URIs */
    & a.external:after { content: none; }
  }
  section.header nav {
    padding: 1rem;
    margin: 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    flex-wrap: wrap;
    align-items: center;
    max-width: var(--pagewidth);
    
    & ul.nav { margin: 0; }
    
    & a {
      display: inline-block;
      padding: 0.3rem 1rem;
      text-decoration: none;
      font-weight: 500;
      color: rgba(255,255,255,.9);
      border-radius: var(--btnround);
      transition: all 300ms ease-out;
      
      &:hover {
        color: #fff;
        background-color: rgba(255,255,255, 0.1);
        box-shadow: 0 0 0 2px rgba(255,255,255, 0.1);
      }
    }
  }
  nav a.external:after { content: ''; } /* all of them are external now */


.icon-dropshadow {
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.2));
}

.linkdiv {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;

  & .title {
    color: var(--link);
    display: block;
    font-weight: 800;
  }
  
  & .description {
    color: var(--fgcolor);
    display: block;
  }
  
  & li {
    display: block;
    list-style-type: none;
    margin: 0;
    
    & a {
      display: block;
      text-decoration: none;
      border-radius: var(--rounded-corner);
      margin: 0;
      padding: 1rem;
      
      &:hover { background-color: var(--tocbg); }
    }
    
    &.dev a {
      background: url(/assets/devel-wire.svg) no-repeat 16px center;
      padding: 1rem 1rem 1rem 96px;
      
      &:hover { 
        background-color: var(--tocbg);
        background-image: url(/assets/devel.svg)
      }
    }
  }
}


footer {
	margin: 6rem 0 0 0;
	background-color: var(--footerbgcolor);
	color: var(--footerfgcolor);
	padding: calc(3*var(--pagepad)) var(--pagepad) calc(6*var(--pagepad));
	flex: 0;
}

footer p {
  font-size: 80%;
  max-width: var(--pagewidth);
  margin: auto;
  text-align: center;
}

ul.nav a {
  display: inline-block;
  padding: 0.3rem 1rem;
  text-decoration: none;
  font-weight: 500;
  border-radius: var(--btnround);
  transition: all 300ms ease-out;
}

footer a {
  color: var(--footerfgcolor);
  text-decoration: none;
  display: block;
  margin: auto;
}

footer a.external:after { content: none; }

footer .wiki {
  margin-top: 4rem;
  font-size: 60%;
  font-weight: 600;
  letter-spacing: 0.03em;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

footer .wiki a {
  display: block;
  background-color: rgba(var(--footerfgcolor-rgb),0.05);
  padding: .3rem .6rem;
  border-radius: 999px;
  margin: 12px;
}

footer .wiki a:hover {
  color: var(--bgcolor);
  background-color: rgba(var(--footerfgcolor-rgb),0.6);
}

ul.bottomlinks {
  column-width: 25ex;
  column-gap: 24px;
  max-width: var(--pagewidth);
  padding: 0;
  margin: 0 auto 1rem;
  line-height: 2.5rem;
}

  ul.bottomlinks li {
    display: block;
    list-style: none;
    margin: 0;
  }
  
  ul.bottomlinks li:first-child a { font-weight: 900; font-variation-settings: "wght" 900; }
  
  ul.bottomlinks li a {
    font-weight: 400;
    font-variation-settings: "wght" 600;
    text-align: left;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: all 200ms ease-out;
    opacity: 0.9;
  }
   ul.bottomlinks li a:hover { 
    opacity: 1;
    text-decoration-color: var(--footerfgcolor);
  }
   
  a.social {
    width: 32px; height: 32px;
    margin: 0;
  }
   
  .socials {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: baseline;
    margin: 24px 6px 0 0;
    gap: 6px;
  }
  .social { opacity: 0.6; fill: var(--footerfgcolor); transition: all 200ms ease-out; }
  .social:hover { opacity: 1; }
  .external>svg { 
    width: 12px; 
    height: 12px; 
    display: inline-block;
    fill: var(--footerfgcolor); 
    transition: all 200ms ease-out;
    opacity: 0.6;
  }
.external:hover>svg { opacity: 1; }


.sidebar-drawer {
  visibility: hidden;
}

.large {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 200ms ease-out;
}
.large img {
  display: block;
}

.large:hover {
  transform: scale(1.03);
}

@media (prefers-reduced-motion) {
  .large {
    transition: none;
  }

  .large:hover {
    transform: none;
  }
}

.tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1rem;
}

.tiles a {
  display: block;
  transition: transform 200ms ease-out;
}

.tiles a img {
  display: block;
  border-radius: 12px;
}

.tiles a:hover {
  transform: scale(1.07);
}

@media (prefers-reduced-motion) {
  .tiles a {
    transition: none;
  }

  .tiles a:hover {
    transform: none;
  }
}

ul.icon-grid {
  display: grid;
  gap: 2rem;
  grid-auto-flow: row;
  margin: 1rem 0;
  padding: 0;
  text-align: center;
  margin-top: 2rem;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
  ul.icon-grid.small {
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    line-height: 1em;
    font-size: 80%;
  }
  ul.icon-grid.big {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    
    & img { width: 192px; height: auto;}
  }
  ul.icon-grid.bigger {
    grid-template-columns: repeat(auto-fill, minmax(256px, 1fr));
    
    & img { width: 100%; height: auto;}
  } 
  ul.icon-grid li {
    display: block;
    list-style: none;
    list-style-image: none;
  }
  ul.icon-grid a {
    color: var(--fg-color);
    text-decoration: none;
    text-decoration-color: unset; /* otherwise WebKitGtk will animate a transition from standard link decoration color to icon-grid link color */
  }
  ul.icon-grid a:hover { text-decoration: underline; }

ul.shortcuts {
  display: grid;
  padding: 0;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
  ul.shortcuts li {
    list-style-type: none;
    list-style-image: none;
  }

#releases + table .old-stable { color: color-mix(in srgb, var(--fgcolor) 65%, transparent); }
#releases + table .unstable { color: var(--adwaita-warning-color); }
#releases + table .eol { color: var(--adwaita-error-color); }

.anchor  a {
  display: inline-block;
  position: relative;
  z-index: 1;
  text-decoration: none;
  padding: 0 0.5em;
  color: var(--tocfg);
  font-weight: 100;
}

.anchor a:hover {
  text-decoration: underline;
}

/* details disclosure triangle */
details {
  animation-name: accordion-close;
  animation-duration: 0.4s;
  animation-timing-function: ease-in-out;
  transform-origin: top;

  &[open] {
    animation-name: accordion-master;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    transform-origin: top;
    
    & > *:not(summary) { animation: details-show 150ms ease-in-out; }
    & > summary:before { transform: rotate(270deg); }
  }
  
  summary {
    padding: 1rem;
    display: block;
    position: relative;
    cursor: pointer;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.01);
    box-shadow: 0 0 0 1px rgba(0,0,0,0.03), 
                0 1px 3px 1px rgba(0,0,0,0.07), 
                0 2px 6px 2px rgba(0,0,0,0.03);
    
    &:before {
      content: '';
      background-image: url("/assets/reveal.svg");
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      position: absolute;
      height: 16px;
      width: 16px;
      top: calc(50% - 8px);
      right: 24px;
      transform: rotate(90deg);
      transition: .25s transform ease;
    }
    
    &::-webkit-details-marker { display:none; }
  }
}

  @keyframes accordion-master {
    from {max-height: var(--accordion-min-height);}
    to {max-height: var(--accordion-max-height);}
  }

  @keyframes accordion-close {
    from {min-height: var(--accordion-max-height);}
    to {min-height: var(--accordion-min-height);}
  }
  
  @keyframes details-show {
    from {
      opacity:0;
      transform: var(--details-translate, translateY(-0.5em));
    }
  }
