.problems-enhanced > h2 { display: none; }
.problems-deck { margin: 28px 0; }
.topic-wrap .problem-card { background: var(--practice-surface); padding: 26px; margin: 0; border-radius: 7px; scroll-margin-top: 20px; }
.problem-card[hidden] { display: none; }
.problem-card-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 24px; }
.problem-card-name { min-width: 0; }
.problem-card-name > .element-label { margin-bottom: 0; }
.problem-card-name:has(h3) > .element-label { margin-bottom: 10px; }
.problem-card-name h3 { font: 600 16px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin: 0; }
.problem-card-name h3::after { content: ''; display: block; width: 28px; height: 2px; background: #285b4680; margin-top: 8px; }
.problem-card .disclosure > summary { display: none; }
.problem-card .disclosure[open] { padding: 18px 20px; background: #e9e3ed; border-radius: 4px; margin-top: 20px; }
.problem-card .disclosure[open] > :last-child { margin-bottom: 0; }
.problem-help { margin-top: 18px; padding: 10px 15px; border-radius: 4px; background: #e9e3ed; color: var(--green); font-size: 13px; }
.problem-help[hidden] { display: none; }
.problem-status-menu { position: relative; flex-shrink: 0; }
.problem-status-menu summary { display: flex; align-items: center; gap: 7px; min-height: 40px; font-size: 12px; color: var(--muted); cursor: pointer; list-style: none; }
.problem-status-menu summary::-webkit-details-marker { display: none; }
.problem-status-menu svg { fill: none; }
.problem-status-menu summary[data-status]:not([data-status=""]) svg { fill: currentColor; }
.problem-status-menu summary[data-status=revisit] { color: #80612a; }
.problem-status-menu summary[data-status=confident] { color: #285b46; }
.problem-status-options { position: absolute; z-index: 3; top: 100%; right: 0; min-width: 150px; padding: 6px; background: var(--paper); border-radius: 5px; box-shadow: 0 6px 24px #282e291c; }
.problem-status-options button { display: block; width: 100%; text-align: left; padding: 11px 12px; color: var(--muted); font-size: 12px; border-radius: 3px; }
.problem-status-options [aria-pressed=true] { background: #e9eee4; }
@media(max-width:600px) { .topic-wrap .problem-card { padding: 20px; } .problem-card-header { flex-wrap: wrap; gap: 8px; } .problem-status-menu { margin-left: auto; } }

.topic-wrap .element-label.problem-difficulty-label { display: inline-flex; align-items: center; gap: 8px; }
.problem-difficulty-label img { display: block; width: 18px; height: 18px; }

.lamp-sketch .diagram-label { position: absolute; transform: translate(-50%, -50%); font-size: 14px; }
