.cake-shell { max-width: 860px; }
.cake-tool-card { box-shadow: 0 1rem 2.5rem rgba(28, 39, 49, .09); }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.choice-label { border: 1px solid var(--bs-border-color); border-radius: .75rem; padding: .85rem 1rem; cursor: pointer; background: var(--bs-white); }
.choice-label:has(input:checked) { border-color: var(--bs-primary); box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb), .15); }
.choice-label input { margin-right: .35rem; }
.cake-visual { min-height: 150px; display: flex; align-items: end; justify-content: center; flex-wrap: wrap; gap: 1rem; padding: 1rem; background: rgba(var(--bs-primary-rgb), .06); border-radius: .75rem; }
.cake-shape { display: inline-block; width: var(--cake-width); height: var(--cake-height); border: 3px solid var(--bs-primary); background: rgba(var(--bs-primary-rgb), .15); box-shadow: inset 0 0 0 5px white; }
.cake-shape-round { border-radius: 50%; }
.cake-shape-square, .cake-shape-rectangle { border-radius: .35rem; }
@media (max-width: 575.98px) { .choice-grid { grid-template-columns: 1fr; } }
