#cube-analyser { margin-top: 1rem; }
#cube-analyser #ca-cube3d { width: 300px; height: 300px; display: none; border-radius: 4px; cursor: grab; background: #f4f4f4; }
#cube-analyser .ca-input-row { display: flex; gap: 0.5rem; margin-bottom: 0.75rem; flex-wrap: wrap; }
#cube-analyser input[type=text] { flex: 1; min-width: 200px; padding: 0.4rem 0.6rem; font-size: 1rem;
  font-family: monospace; background: #fff; border: 1px solid #aaa; color: #222; border-radius: 4px; }
#cube-analyser button { padding: 0.4rem 1rem; font-size: 0.9rem; background: #2c3e50; color: #fff;
  border: 1px solid #2c3e50; border-radius: 4px; cursor: pointer; }
#cube-analyser button:hover { background: #34495e; }
#cube-analyser .ca-presets { margin-bottom: 0.75rem; font-size: 0.85rem; }
#cube-analyser .ca-presets span { color: #666; }
#cube-analyser .ca-presets a { color: #2471a3; cursor: pointer; margin-right: 0.7rem; text-decoration: none; }
#cube-analyser .ca-presets a:hover { text-decoration: underline; }
#cube-analyser .ca-cols { display: flex; gap: 1.5rem; flex-wrap: wrap; }
#cube-analyser .ca-col { flex: 1; min-width: 280px; overflow: hidden; }
#cube-analyser h3 { font-size: 1rem; color: #333; margin: 0.75rem 0 0.4rem; border-bottom: 1px solid #ccc; padding-bottom: 0.2rem; }
#cube-analyser pre { background: #f4f4f4; padding: 0.6rem; border-radius: 4px; font-size: 0.82rem;
  line-height: 1.35; overflow-x: auto; white-space: pre; margin-bottom: 0.75rem; color: #222; }
#cube-analyser .ca-reid { font-family: monospace; font-size: 0.9rem; white-space: pre; overflow-x: scroll; max-width: 100%; display: block; }
#cube-analyser table { width: 100%; border-collapse: collapse; margin-bottom: 0.75rem; font-size: 0.82rem; }
#cube-analyser th { text-align: left; padding: 0.25rem 0.4rem; background: #2c3e50; color: #fff; }
#cube-analyser td { padding: 0.25rem 0.4rem; border-bottom: 1px solid #ddd; color: #222; }
#cube-analyser .ca-solved { color: #bbb; }
#cube-analyser .ca-moved { color: #b8860b; font-weight: bold; }
#cube-analyser .ca-twisted { color: #c0392b; font-weight: bold; }
#cube-analyser .ca-cycle { font-family: monospace; color: #2471a3; margin-right: 0.5rem; }
#cube-analyser .ca-summary { background: #f4f4f4; padding: 0.6rem; border-radius: 4px; margin-bottom: 0.75rem; color: #222; }
#cube-analyser .ca-summary p { margin-bottom: 0.25rem; }
#cube-analyser #ca-error { color: #c0392b; margin-bottom: 0.4rem; }