* { 
    box-sizing: border-box; 
    font-family: sans-serif; 
}
html {
    padding: 0;
    margin: 0;
}
body {          
    background-color: black;
    color: white;
    font-size: 1.2rem;              
    height: 100vh;
    padding: 1px;
}
header {
    text-align: center;
    margin-bottom: 2em;
    padding-bottom: 1em;
}
h1 {
    margin-bottom: .25rem;
}
main {
    display: flex;
    justify-content: center;
}
a {
    text-decoration: none;
}
a:link,
a:visited {
    color: lime;
}
a:hover,
a:active {
    color: yellow;
}
a:focus {
    color: yellow;
}
a:focus-visible {
    outline: 1px solid yellow;
}
.star-links {
    padding-left: 2em;
}
.star-links a {
    position: relative;
    list-style-type: none;
    display: block;
    margin-bottom: 5px;
}   
.star-links a::before {
    content: "\2605";
    color: yellow;
    height: 100%;
    left: -1.25em;
    top: 0;
    position: absolute;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-origin: center;
    overflow: hidden;
    line-height: 0px;
} 
.star-links a:hover::before,
.star-links a:focus::before {
    animation: star-turn .2s linear;
    transform-origin: center;
}
.star-links a:hover::before {
    color: lime;
}
.star-links a:focus::before {
    color: lime;
}
@keyframes star-turn {
    /* 36 degrees between points */
    50% { transform: rotate(72deg); } 
    100% { transform: rotate(0deg); } 
}
.flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.container {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
}
.content {
    flex-grow: 2;
    padding: 1rem;
}