.activity-shell {
    display: grid;
    gap: 1.5rem;
}

.activity-hero,
.activity-section,
.activity-filter-bar,
.activity-detail-grid > *,
.builder-grid > *,
.activity-session-grid > *,
.activity-table-wrap,
.builder-subsection {
    padding: 1.5rem;
}

.activity-hero-actions,
.activity-card-actions,
.button-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.activity-type-grid,
.activity-card-grid {
    display: grid;
    gap: 1rem;
}

.activity-card-grid-3,
.activity-type-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.activity-type-card,
.activity-card,
.activity-sidebar,
.scoreboard-row {
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: 1.5rem;
    background: rgba(255,255,255,0.92);
}

.activity-card {
    display: grid;
    gap: 0.85rem;
}

.activity-card h3,
.activity-type-card strong {
    font-family: "Fraunces", serif;
    font-size: 1.6rem;
    line-height: 1.15;
}

.activity-card h3 a {
    color: var(--ink, #14356f);
    text-decoration: none;
}

.chip-row,
.checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.activity-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.activity-meta-grid dt {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #5370a6;
    letter-spacing: 0.08em;
}

.activity-meta-grid dd {
    margin: 0.25rem 0 0;
    color: #17315f;
}

.activity-detail-grid,
.activity-session-grid,
.builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 1.25rem;
}

.activity-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.activity-form-grid-full {
    grid-column: 1 / -1;
}

.stack-field {
    display: grid;
    gap: 0.45rem;
}

.stack-field label {
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5370a6;
}

.stack-field input,
.stack-field select,
.stack-field textarea {
    width: 100%;
    border-radius: 1rem;
    border: 1px solid rgba(30, 64, 175, 0.15);
    padding: 0.95rem 1rem;
    font: inherit;
    color: #17315f;
    background: #fff;
}

.builder-subsection {
    margin-top: 1.5rem;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: 1.5rem;
    background: rgba(239, 246, 255, 0.68);
}

.builder-list {
    display: grid;
    gap: 0.75rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

.builder-list li,
.scoreboard-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
}

.current-clue-panel {
    display: grid;
    gap: 0.85rem;
    margin: 0 0 1.25rem;
    padding: 1rem;
    border: 1px solid rgba(30, 64, 175, 0.1);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.9), rgba(255,255,255,0.98));
}

.current-answer-box {
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 248, 219, 0.8);
    color: #805b00;
}

.activity-table {
    width: 100%;
    border-collapse: collapse;
}

.activity-table th,
.activity-table td {
    padding: 0.8rem 0.6rem;
    border-bottom: 1px solid rgba(30, 64, 175, 0.08);
    text-align: left;
    vertical-align: top;
}

.jeopardy-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.jeopardy-tile {
    border: 1px solid rgba(30, 64, 175, 0.12);
    border-radius: 1.3rem;
    background: linear-gradient(180deg, rgba(219, 234, 254, 0.85), rgba(255,255,255,0.98));
    color: #14356f;
    min-height: 140px;
    padding: 1rem;
    display: grid;
    align-content: space-between;
    gap: 0.8rem;
    text-align: left;
}

.jeopardy-tile strong {
    font-family: "Fraunces", serif;
    font-size: 2rem;
}

.jeopardy-tile.is-daily-double {
    box-shadow: inset 0 0 0 2px rgba(245, 158, 11, 0.45);
}

.host-control-stack {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.pagination-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.pagination-summary,
.activity-card-meta,
.empty-state-copy {
    color: #5370a6;
}

.status-chip-live {
    background: rgba(220, 252, 231, 0.85);
}

@media (max-width: 1100px) {
    .activity-card-grid-3,
    .activity-type-grid,
    .activity-meta-grid,
    .activity-detail-grid,
    .activity-session-grid,
    .builder-grid,
    .activity-form-grid,
    .jeopardy-board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .activity-card-grid-3,
    .activity-type-grid,
    .activity-meta-grid,
    .activity-detail-grid,
    .activity-session-grid,
    .builder-grid,
    .activity-form-grid,
    .jeopardy-board {
        grid-template-columns: 1fr;
    }
}
