body { 
    font-family: 'Crimson Text', Georgia, serif; 
    background: #fafafa; 
    color: #2c2c2c; 
    margin: 0; 
}

.nav-container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 1rem; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

.controls { 
    max-width: 1200px; 
    margin: 1rem auto; 
    padding: 0 0.5rem; 
    font-family: 'Source Sans Pro', sans-serif; 
    display: flex; 
    gap: .75rem; 
    align-items: center; 
    flex-wrap: wrap; 
}

.controls select, .controls input { 
    padding: .45rem .6rem; 
    border: 1px solid #ddd; 
    border-radius: 4px; 
    font-size: .95rem; 
}

.stats { 
    font-size: .9rem; 
    color: #555; 
    margin-left: auto; 
}

.grid { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 0.5rem 2rem; 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); 
    gap: 1rem; 
}

.card { 
    background: #fff; 
    border: 1px solid #ddd; 
    border-radius: 4px; 
    padding: 1rem; 
    transition: box-shadow .2s; 
    cursor: default; 
}

.card:hover { 
    box-shadow: 0 4px 12px rgba(0,0,0,.12); 
    border-color: #1f4788; 
}

.name { 
    font-family: 'Source Sans Pro', sans-serif; 
    font-weight: 600; 
    color: #1f4788; 
    font-size: .95rem; 
    margin-bottom: .25rem; 
}

.meta { 
    font-family: 'Source Sans Pro', sans-serif; 
    font-size: .8rem; 
    color: #666; 
}

/* Size variants */
#page.size-small .grid { 
    grid-template-columns: repeat(auto-fit, 176px); 
    gap: 0.3rem; 
    padding: 0 0.3rem 2rem;
}

#page.size-large .grid { 
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); 
}

/* Thumbnail sizing per variant */
#page.size-small .thumb { 
    width: 160px !important; 
    height: 106px !important; 
    margin-bottom: 0 !important; 
}

#page.size-medium .thumb { 
    width: 180px !important; 
    height: 120px !important; 
}

#page.size-large .thumb { 
    width: 240px !important; 
    height: 160px !important; 
}

/* Visibility rules */
#page.size-small .name, 
#page.size-small .meta { 
    display: none !important; 
}

#page.size-medium .meta { 
    display: none !important; 
}

/* Reduce padding for small cards */
#page.size-small .card { 
    padding: 0.2rem; 
    width: 176px; 
}

#page.size-small .controls {
    padding: 0 0.3rem;
}

