.worksheet-shell {
    display: grid;
    gap: var(--space-lg);
    padding: clamp(1rem, 1.5vw + 0.75rem, 1.75rem);
    margin-bottom: var(--space-xl);
    background: var(--brand-cream);
}

.worksheet-shell h1,
.worksheet-shell h2,
.worksheet-shell h3 {
    margin-top: 0;
}

.worksheet-header {
    display: grid;
    gap: var(--space-md);
}

.worksheet-header-copy {
    display: grid;
    gap: 0.55rem;
}

.worksheet-header-copy h1 {
    color: var(--brand-charcoal);
}

.worksheet-description {
    max-width: 68ch;
    margin: 0;
}

.worksheet-instructions {
    padding: 1rem 1.15rem;
    border: 2px solid var(--brand-charcoal);
    border-radius: 14px;
    background: rgba(255, 217, 61, 0.22);
    font-style: italic;
}

.worksheet-credit {
    margin: 0;
    font-size: 0.85rem;
    text-align: right;
    color: rgba(45, 45, 45, 0.8);
}

.worksheet-body {
    display: grid;
    gap: var(--space-lg);
}

.worksheet-density-compact .worksheet-body,
.worksheet-density-compact .worksheet-header,
.worksheet-density-compact .worksheet-notes {
    gap: var(--space-md);
}

.worksheet-density-compact .worksheet-instructions {
    padding: 0.9rem 1rem;
}

.worksheet-sort-grid,
.prompt-scaffold-grid,
.choice-list-grid,
.fill-field-list,
.discussion-prompts-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
}

.worksheet-sort-column,
.prompt-word-card,
.response-field,
.fill-field-block,
.discussion-prompt-card,
.choice-option-card,
.choice-list-intro,
.choice-list-reflection,
.word-cloud-prompt,
.word-cloud-reflection {
    border: 2px solid var(--brand-charcoal);
    border-radius: 14px;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.82);
}

.worksheet-sort-column,
.discussion-prompt-card,
.response-field,
.fill-field-block {
    display: grid;
    gap: 0.85rem;
}

.worksheet-sort-header {
    margin: 0;
    padding-bottom: 0.45rem;
    border-bottom: 4px solid var(--worksheet-accent, var(--brand-charcoal));
}

.worksheet-sort-header h2,
.prompt-word-card h2,
.response-field h3,
.fill-field-block h2,
.discussion-prompt-card h2,
.choice-list-intro h2,
.choice-option-copy h3,
.choice-list-reflection h3,
.word-cloud-prompt h2,
.word-cloud-reflection h3 {
    margin-bottom: 0;
}

.worksheet-lines {
    display: grid;
    gap: 0.85rem;
}

.worksheet-line {
    border-bottom: 2px dotted var(--brand-grey-medium);
    min-height: 1rem;
}

.prompt-scaffold-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

.prompt-word-list,
.prompt-response-list,
.choice-list-shell,
.word-cloud-shell {
    display: grid;
    gap: var(--space-md);
}

.prompt-word-list,
.prompt-response-list {
    align-content: start;
}

.prompt-word-card {
    display: grid;
    gap: 0.5rem;
}

.choice-list-grid {
    align-items: start;
}

.choice-option-card {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 0.85rem;
    align-items: start;
}

.choice-marker-radio,
.choice-marker-checkbox {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 2px solid var(--brand-charcoal);
    background: #ffffff;
}

.choice-marker-radio {
    border-radius: 999px;
}

.choice-marker-checkbox {
    border-radius: 6px;
}

.choice-list-columns-1 {
    grid-template-columns: 1fr;
}

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

.choice-list-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.word-cloud-board {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    align-items: center;
    padding: 1.25rem;
    border: 2px solid var(--brand-charcoal);
    border-radius: 18px;
    background:
        radial-gradient(circle at top left, rgba(255, 217, 61, 0.45), transparent 30%),
        radial-gradient(circle at bottom right, rgba(0, 180, 166, 0.18), transparent 28%),
        #fffdfa;
}

.word-cloud-chip,
.word-cloud-blank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    min-height: 54px;
    padding: 0.6rem 1rem;
    border: 2px solid var(--brand-charcoal);
    border-radius: 999px;
    font-weight: bold;
    background: var(--color-white);
}

.word-cloud-chip:nth-child(3n + 1) {
    background: rgba(255, 217, 61, 0.34);
}

.word-cloud-chip:nth-child(3n + 2) {
    background: rgba(0, 180, 166, 0.16);
}

.word-cloud-chip:nth-child(3n) {
    background: rgba(232, 78, 103, 0.18);
}

.word-cloud-blank {
    background: transparent;
    border-style: dashed;
}

.concentric-spheres-body {
    align-items: center;
}

.sphere-diagram {
    position: relative;
    width: min(560px, 100%);
    aspect-ratio: 1 / 1;
    margin: 0 auto;
}

.sphere-ring {
    position: absolute;
    inset: 0;
    border: 3px solid var(--brand-charcoal);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sphere-ring-7 { inset: 0; }
.sphere-ring-6 { inset: 7%; }
.sphere-ring-5 { inset: 14%; }
.sphere-ring-4 { inset: 21%; }
.sphere-ring-3 { inset: 28%; }
.sphere-ring-2 { inset: 35%; }
.sphere-ring-1 { inset: 42%; }

.sphere-centre,
.sphere-label {
    background: var(--brand-yellow);
    border: 2px solid var(--brand-charcoal);
    border-radius: var(--radius-pill);
    padding: 0.45rem 0.8rem;
    font-weight: bold;
}

.sphere-ring-7 { border-color: #0f766e; }
.sphere-ring-6 { border-color: #00b4a6; }
.sphere-ring-5 { border-color: #5e9189; }
.sphere-ring-4 { border-color: var(--brand-grey-medium); }
.sphere-ring-3 { border-color: #b98597; }
.sphere-ring-2 { border-color: #d56f87; }
.sphere-ring-1 { border-color: var(--brand-coral); }

.sphere-centre {
    background: var(--brand-pink);
    color: var(--brand-text-inverse);
}

.handout-shell .worksheet-header {
    padding-bottom: 0.85rem;
    border-bottom: 4px solid var(--brand-teal);
}

.sphere-label {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    font-size: 0.9rem;
}

.free-form-body > *:first-child {
    margin-top: 0;
}

.worksheet-notes {
    display: grid;
    gap: 0.7rem;
    margin-top: 0;
    padding-top: var(--space-md);
    border-top: var(--border-medium);
}

.worksheet-notes ul {
    margin: 0;
    padding-left: 1.2rem;
}

@media (max-width: 900px) {
    .worksheet-sort-grid,
    .prompt-scaffold-grid,
    .choice-list-grid,
    .fill-field-list,
    .discussion-prompts-list,
    .choice-list-columns-2,
    .choice-list-columns-3 {
        grid-template-columns: 1fr;
    }
}
