/* Global styles */
body {
    padding-top: var(--pico-spacing);
}

.container {
    padding: var(--pico-spacing);
}

.center {
    text-align: center;
}

.full-width {
    width: 100%;
}

.space-elements> :not([hidden]) {
    margin-bottom: 0;
}

.space-elements> :not([hidden]):has(~ :not([hidden])) {
    margin-bottom: var(--pico-spacing);
}

/* Upload box styling */
.upload-box {
    border: 2px dashed var(--pico-muted-border-color);
    border-radius: 1rem;
    padding: calc(var(--pico-spacing) * 3) var(--pico-spacing);
    color: var(--pico-muted-color);
    cursor: pointer;
}

.upload-box i {
    font-size: 2rem;
    margin-bottom: var(--pico-spacing);
    display: block;
}

.upload-box.drag-over {
    border-color: var(--pico-primary);
    background: color-mix(in srgb, var(--pico-primary) 10%, transparent);
}

/* Codec selection styling */
.codec-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pico-spacing);
}

.codec-card {
    border: 1px solid var(--pico-muted-border-color);
    border-radius: 1rem;
    padding: var(--pico-spacing);
    cursor: pointer;
}

.codec-card.active {
    border-color: var(--pico-primary);
    background: color-mix(in srgb, var(--pico-primary) 20%, transparent);
}

.codec-card small {
    display: block;
    margin-bottom: 0;
    color: var(--pico-muted-color);
}

/* Target size styling */
.target-size-group {
    display: flex;
    align-items: center;
    gap: calc(var(--pico-spacing) / 2);
}

input.target-size-input {
    padding: calc(var(--pico-form-element-spacing-vertical) / 2) var(--pico-form-element-spacing-horizontal);
    margin-bottom: 0;
    width: clamp(8rem, 18vw, 12rem);
    height: auto;
}

/* Frame rate styling */
.frame-rate-group {
    display: flex;
    align-items: center;
    gap: calc(var(--pico-spacing) / 2);
}

.frame-rate-select {
    padding: calc(var(--pico-form-element-spacing-vertical) / 2) calc(var(--pico-form-element-spacing-horizontal) / 2);
    margin-bottom: 0;
    width: clamp(8rem, 18vw, 12rem);
    height: auto;
}

/* Progress styling */
.progress-bar {
    height: 1.5rem;
}
