.project-expansion { min-width: 0; }
.project-expansion .workbench-panel { min-width: 0; }
.project-expansion .workbench-field input,.project-expansion .workbench-field select { width: 100%; min-width: 0; }
.project-expansion .workbench-panel details { padding: .85rem 0; border-top: 1px solid var(--line,#284346); }
.project-expansion .workbench-panel summary { cursor: pointer; font-weight: 650; }
.project-expansion .workbench-panel dl { display: grid; grid-template-columns: minmax(10rem,1fr) 3fr; gap: .6rem 1.25rem; }
.project-expansion .workbench-panel dt { font-weight: 700; }
.project-expansion .workbench-panel dd { margin: 0; }
.project-expansion-check { display: flex; align-items: flex-start; gap: .7rem; margin: 1rem 0; }
.project-expansion-check input { flex: 0 0 auto; width: 1.35rem; height: 1.35rem; }
.project-expansion-row-actions { min-width: 11rem; }
.project-expansion-row-actions button { margin: .2rem .2rem .2rem 0; }
.project-expansion-receipts { list-style: none; padding: 0; }
.project-expansion-receipts li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; padding: .75rem 0; border-bottom: 1px solid var(--line,#284346); }
.challenge-card fieldset { border: 0; padding: 0; margin: 1.5rem 0; min-width: 0; }
.challenge-card legend { font-weight: 700; font-size: 1.08rem; margin-bottom: .85rem; }
.challenge-choice { display: flex; align-items: flex-start; gap: .8rem; border: 1px solid var(--line,#284346); border-radius: .5rem; padding: .85rem; margin: .6rem 0; cursor: pointer; min-height: 44px; }
.challenge-choice input { margin: .15rem 0 0; width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.challenge-choice:focus-within { outline: 2px solid var(--accent,#59d2c3); outline-offset: 3px; }
.challenge-choice:has(input:checked) { border-color: var(--accent,#59d2c3); background: #112e2e; }
.challenge-result { font-weight: 650; }
.challenge-result[data-correct="true"] { color: #7be2cd; }
.challenge-result[data-correct="false"] { color: #ffdc83; }
.challenge-diagram { display: block; width: 100%; max-width: 760px; height: auto; margin: 1.2rem 0; }
.challenge-svg-bg { fill: #071112; stroke: #47686b; }
.challenge-svg-label { fill: #91afb2; font-family: system-ui,sans-serif; font-size: 19px; letter-spacing: 1px; }
.challenge-svg-value { fill: #f4d891; font-family: ui-monospace,monospace; font-size: 23px; }
.challenge-svg-rule { stroke: #47686b; stroke-dasharray: 6 5; }
.project-expansion [hidden] { display: none !important; }
#feedback-report-meta { font-weight: 650; }
#feedback-report-rows a { overflow-wrap: anywhere; }
@media(max-width:600px) { .project-expansion .workbench-panel dl { grid-template-columns: 1fr; gap: .3rem; } .project-expansion .workbench-panel dd { margin-bottom: .8rem; } .challenge-svg-label { font-size: 19px; } }
@media print { .project-expansion form,.project-expansion button,.project-expansion .workbench-field,.project-expansion-check { display: none !important; } .project-expansion .workbench-table-wrap { overflow: visible; } .project-expansion table { font-size: 9pt; } .project-expansion .workbench-panel { break-inside: avoid; } .project-expansion .challenge-card form { display: block !important; } .project-expansion .challenge-card input { display: none; } .challenge-svg-bg { fill: white; } .challenge-svg-label,.challenge-svg-value { fill: black; } }