@import url('https://fonts.googleapis.com/css2?family=VT323&display=swap');

*{
    box-sizing:border-box;
}

html,
body{
    margin:0;
    min-height:100%;
}

body{
    background:#000 url("sidebar.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    color:#fff;
    font-family:"VT323", monospace;
    font-size:22px;
}


a:link,
a:visited,
a:hover,
a:active{
    color:#2a2aff;
}

.sidebar-images {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:30px 0 0 25px;
}

.sidebar-image-2 {
    width:165px;
    height:auto;
}

.signup-button:link,
.signup-button:visited,
.signup-button:hover,
.signup-button:active{
    color:#000;
}

.page{
    display:flex;
    width:100%;
    min-height:100vh;
    margin:0;
}


.sidebar{
    position:fixed;
    top:0;
    left:0;
    width:440px;
    height:100vh;
    padding:20px 25px;
    background:#000;
    border-right:1px solid #555;
    z-index:100;
}


.site-title{
    margin:0 0 42px;
    font-size:50px;
    line-height:1;
}

.site-title span{
    display:block;
    margin-top:14px;
    font-size:24px;
    line-height:1.2;
    color:#fff;
}

nav{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    margin:0 0 0 25px;
}

nav a{
    display:block;
    width:max-content;
    margin:0;
    padding:5px 14px;
    font-size:25px;
    line-height:1;
    text-decoration:none;
    transition:.15s;
}

nav a.active{
    outline:1px dotted #000;
    outline-offset:-4px;
}

.sidebar-images {
    display:flex;
    gap:10px;
    margin:30px 0 0 25px;
    width:340px;
}

.sidebar-images img {
    width:110px;
    height:auto;
    object-fit:contain;
}

.sidebar-cluster {
    filter:brightness(4);
}

.footer-note{
    margin:28px 0 0 25px;
    color:#fff;
    font-size:12px;
    line-height:1.3;
}



.content{
    width:calc(100% - 440px);
    min-width:0;
    max-width:900px;
    margin-left:440px;
    padding:60px 40px 100px;
}

.page-title{
    margin:0 0 30px;
    font-size:58px;
    font-weight:normal;
    line-height:1;
}

.card{
    background:#000;
    padding:24px;
    margin-bottom:30px;
    border-top:2px solid #fff;
    border-left:2px solid #fff;
    border-right:2px solid #555;
    border-bottom:2px solid #555;
    box-shadow:none;
}

.text-block{
    line-height:1.5;
}

.text-block p{
    margin:0 0 20px;
}

.news-post h3{
    margin:0 0 4px;
}

.news-date{
    margin:0 0 20px;
    font-size:17px;
}


.signup-button,
.signup-button:link,
.signup-button:visited{
    display:inline-block;
    margin-top:5px;
    padding:5px 15px;
    background:#c0c0c0;
    color:#000;
    font-family:"VT323", monospace;
    font-size:22px;
    line-height:1;
    text-decoration:none;
    border-top:2px solid #fff;
    border-left:2px solid #fff;
    border-right:2px solid #404040;
    border-bottom:2px solid #404040;
    box-shadow:
        inset -1px -1px #808080,
        inset 1px 1px #dfdfdf;
    cursor:pointer;
    user-select:none;
}

.signup-button:hover{
    background:#d4d4d4;
    color:#000;
    text-decoration:none;
}

.signup-button:active{
    color:#000;
    border-top:2px solid #404040;
    border-left:2px solid #404040;
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
    box-shadow:
        inset 1px 1px #808080,
        inset -1px -1px #dfdfdf;
    transform:translate(1px,1px);
}

.signup-button:focus{
    color:#000;
    outline:1px dotted #000;
    outline-offset:-4px;
}


.workshop-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:20px;
}

.workshop-card{
    padding:0;
    overflow:hidden;
}

.workshop-image,
.game-cover,
.team-photo{
    display:block;
    width:100%;
    object-fit:cover;
    background:#202020;
}

.workshop-image{
    height:180px;
    border-bottom:2px solid #555;
}

.workshop-details{
    padding:18px;
}

.workshop-details h2{
    margin:0 0 12px;
    font-size:34px;
    font-weight:normal;
}

.workshop-details p{
    margin:4px 0;
}


.game-library-card{
    background:#000;
    padding:24px;
}

.game-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:24px;
}

.game-item{
    min-width:0;
    text-align:center;
}

.game-cover{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:3 / 4;
    border-top:2px solid #fff;
    border-left:2px solid #fff;
    border-right:2px solid #555;
    border-bottom:2px solid #555;
}

.game-info{
    margin-top:8px;
    line-height:1.15;
}

.game-title{
    margin:0 0 4px;
    font-size:26px;
    font-weight:normal;
}

.game-meta{
    margin:0;
    font-size:18px;
}


.team-stack{
    display:grid;
    gap:20px;
}

.team-featured{
    display:grid;
    gap:40px;
}

.team-member{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:20px;
    align-items:start;
}

.team-member + .team-member{
    margin-top:20px;
}

.workshop-details > p:last-of-type {
    margin-bottom:40px;
}

.team-photo{
    width:150px;
    height:150px;
    border-top:2px solid #fff;
    border-left:2px solid #fff;
    border-right:2px solid #555;
    border-bottom:2px solid #555;
}

.team-copy h2{
    margin:0 0 8px;
    font-size:34px;
    font-weight:normal;
}

.team-copy p{
    margin:0;
    line-height:1.4;
}


.team-copy p:first-of-type{
    margin-bottom:18px;
}

.placeholder-card h2{
    margin:0 0 10px;
    font-size:34px;
    font-weight:normal;
}

.placeholder-card p{
    margin:0;
    line-height:1.4;
}


@media (min-width:801px) and (max-width:1100px){

    .sidebar{
        width:320px;
        padding:18px 20px;
    }

    .site-title{
        margin-bottom:34px;
        font-size:32px;
    }

    .site-title span{
        margin-top:12px;
        font-size:16px;
    }

    nav{
        gap:10px;
        margin-left:18px;
    }

    nav a{
        padding:4px 11px;
        font-size:22px;
    }

    .sidebar-images {
    margin-left:18px;
}

.sidebar-images img {
    width:125px;
}

.sidebar-cluster {
    width:125px;
    margin:0;
}

    .footer-note{
        margin:22px 0 0 18px;
        font-size:11px;
    }

    .content{
        width:calc(100% - 320px);
        max-width:none;
        margin-left:320px;
        padding:40px 24px 80px;
    }

    .page-title{
        font-size:50px;
    }

    .game-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    .workshop-grid{
        grid-template-columns:1fr;
    }
}


@media (max-width:800px){

    .page{
        display:block;
        min-height:0;
    }

    .sidebar{
        position:relative;
        top:auto;
        left:auto;
        width:100%;
        height:auto;
        padding:28px 20px;
        border-right:none;
    }

    .site-title{
        margin-bottom:35px;
    }

    nav{
        gap:12px;
        margin-left:0;
    }

    nav a{
        font-size:24px;
    }

    .sidebar-images {
    margin:30px 0 0;
}

.sidebar-cluster {
    margin:0;
}

    .footer-note{
        margin:30px 0 0;
    }

    .content{
        width:100%;
        max-width:none;
        margin-left:0;
        padding:40px 20px 80px;
    }

    .page-title{
        font-size:46px;
    }

    .workshop-grid,
    .game-grid{
        grid-template-columns:1fr;
    }

    .team-member{
        grid-template-columns:1fr;
    }

    .team-photo{
        width:100%;
        max-width:220px;
        height:auto;
        aspect-ratio:1 / 1;
    }
}